Ross asks:
37signals has contributed massively to the open source community, but in what ways has the open sourcing helped and hindered 37signals and would you advocate that more companies contributed or open sourced their software, if so what advice would you give them?
Open source provides an incredible amount of technical leverage for small companies. No matter who productive your rock-star programmers are and no matter how much judo you apply to your problems, solid infrastructure takes a long time and benefits immensely from broad involvement. It really does take a village to raise great infrastructure.
The Ruby on Rails framework of today is a lot more productive than the one I was using before it was open sourced. I use features every day created by others, enjoy polish done by others, evade bugs caught by others. All work I would otherwise have to do myself. So I simply get more done for less effort than it would otherwise have taken. The same holds true for the other open source projects that have been cultivated in 37signals, like Prototype and Capistrano.
Getting more done for less is the obvious benefit of open sourcing your work. But there are a lot of other positives as well. For one, it feels good to give back. 37signals as a company is possible in part only because of how open source lowered the barriers of entry for small businesses.
Everything from the operating system to the database to the web server to the proxy engine to everything in between on our servers is open source. If we’d have to go back to a time where all that carried big upfront licensing costs, we might never have gotten the product direction for the company off the ground. Helping further that ecosystem is very rewarding.
It also gives you a public arena to learn from other great programmers and to better yourself. Most of the people using Rails are working on proprietary applications, so we don’t get to share or discuss the specifics of the projects all that often. But we do get to share and discuss the specifics of the infrastructure. That’s the best continued training course you could ever run.
Through that public arena you get access to scout for the best minds and hire people of exceptional talent. We have found all our current programmers through the Rails scene and had access to evaluate much of their work as a result of open source. I also wrote about a few years back.
Sprinkle on top that if you happen to run a successful open-source project, you’ll probably attract a fair amount of press attention and customer goodwill. 37signals has definitely benefitted from both of those categories off the many open source projects that we run.
So you get all these positives, but what about the negatives? I really don’t see any. A big fear that a lot of people have is that they’ll somehow be giving away their secret sauce. Unless your actual product is what you’re open sourcing, it really doesn’t matter (and there are even plenty of examples of that working well). It’s unlikely that the piece of code that’s only seen internal development is such a silver bullet that you’re going to outshine your competition by its use alone.
All that to say that I think open sourcing infrastructure software is a great idea. I’d heartily recommend it to anyone sitting on a piece of code that more people could benefit from and that they’d like to see developed further.
Derrick Kwa
on 07 Nov 07I completely agree that open source has been largely a help. More so than anything.
I think the true value of open source is in the wisdom of crowds principle. When you open up your platform and development to the public, you can get more opinions, and things tend to be fixed more easily. It also allows for more freedom and innovation.
On a side note, it’s really good to see open source (and open source principles) being spread more in recent weeks, OpenSocial and Android).
Andrew
on 07 Nov 07One negative of the Open Source community in general, (not specifically software) is the expectation that the things you make will also be free. Have you run into this problem? Have many people inquired on why you haven’t made Basecamp or Highrise ‘Open Source’?
kevin williams
on 07 Nov 07Another great question and answer post. These are great advice for those of us getting started in product development.
I have another question for you, but I don’t know how to post it so I’m putting it in the comments hoping you’ll read it…
How do you deal with copy-cat competitors? You invest a lot of time, money and effort into developing a world class product only to have someone else come in, take all the lessons learned and build their own?
For example: mercurygrove.com or assembla.com.
Matt Radel
on 07 Nov 07One negative I could see for open source would be “official” support. Granted, there are fantastic open source communities – but there aren’t people employed for the sole purpose of supporting you. It’s nice to have that piece of mind.
But is that enough to justify the cost? I don’t necessarily think so. But it makes paying that cost a shade easier to swallow.
Nathan Bowers
on 07 Nov 07There are lots of ways to get official support. That’s one of the business models behind large open source source projects: the software is free, but the consulting will cost you.
I wouldn’t worry too much about copycats because ideas are easy. Execution is hard.
DHH
on 07 Nov 07Matt, I think that’s exactly the kind of thinking that keeps a lot of the dinosaurs around, but I’ve never found it to be accurate, even anecdotally.
Everyone I’ve ever talked to who has paid for support contracts with commercial vendors have been disappointed when they actually had to use them. And most everyone I talk to about getting support in open source land are surprised at how good and fast it comes.
Anonymous Coward
on 07 Nov 07The only support service that is priceless is Apple. They treat you like a prince.
Simon
on 07 Nov 07Matt, Nathan, DHH: On a related note to issues surrounding support…I was at a conference recently where I heard one exec tell another that the reason that his company hadn’t adopted open source software was because “there’s no one to sue when things go wrong” :-S
Ted
on 08 Nov 07DHH, not quite true. I’m using an open source project right now (quite famous in Python world) and lack of docs prompted me to quit using it.
Mackenzie
on 08 Nov 07Matt, There are companies out there who sell support for open source software on the basis that businesses always want support contracts, and getting more non-business users to use the free product only helps (because it creates a larger pool of potential employees with that skillset and makes that technology more appealing to the companies). Just look at Red Hat, Canonical (Ubuntu Linux’s support company), and Zenoss (server monitoring).
Neil Wilson
on 08 Nov 07The other issue is what is classed ‘infrastructure’. Over time this increases.
For example who would have expected an open source office package that is as good as Microsofts, or a windowing system that gives the Mac a run for its money. Yet something like Ubuntu provides both.
How long before your application becomes open source ‘infrastructure’. Bear that in mind if your business is based around a whizzy bit of programming. IMHO You need to be doing more than that if you want to survive long term.
terry
on 08 Nov 07“Yet something like Ubuntu provides both.”
Not even close
justin silverton
on 08 Nov 07“For example who would have expected an open source office package that is as good as Microsofts, or a windowing system that gives the Mac a run for its money. Yet something like Ubuntu provides both.”
This is a great example of why open source is currently not succeeding in the desktop market (the server market is a different story). Open office still leaves a lot to be desired (the excel + powerpoint clones come to mind) and the linux windowing system still is not that easy to use. However, I think OSX is starting to become real competition for Microsoft (especially since Vista..the Worst OS Microsoft has released to date).
Stallman and other OSS zealots are also scaring businesses away from the whole community.
CM
on 08 Nov 07Microsoft and Apple serve up productivity on a silver platter. Businesses are willing to pay for that. They have no time or knowledge to tinker with OSS.
Delivering an OSS solution through a web-app is another story. I don’t think a lot of businesses “get it” yet but they should.
Danny Hope
on 08 Nov 07If your other products became popular enough to keep you in the style to which you’re accustomed, would you consider opening Basecamp up?
John B
on 08 Nov 07Ted: I think DHH was referring more to support than documentation. I’ve generally found, myself, that there is a lot of decent support available via the open-source community.
However, when using an open-source product that I am not yet familiar with I often find the lack of documentation extrememly frustrating, and I find that when I ask for help in the community with a beginner’s question there is often a “What are you, stupid?” type response.
Jake Rutter
on 09 Nov 07This is a great article. I have been pushing open source at the company I work for, for about 4 months now. I get so much resistance, it seems like the biggest complaint about open source is scalability and accountability, which I dont understand. Open Source Developers seem to have the best network of answers on the net. Have you ever had a problem with .net and tried searching Google for an answer, what do you get? A link to an MSDN article 9 times out of 10. Its much harder for .net/java developers to have the same sort of support that the open source developers receive.
Sam
on 10 Nov 07Jake: While OS developers are easier to contact and get an answer out of, that doesn’t scale well. Having to scan through forum threads or mailing list threads for an answer isn’t very elegant or efficient either.
The beauty of MSDN is that it is very detailed and generally well organised, and more often than not answers your question, particularly the beginner type ones (e.g. the method signature of something, examples of using that method, the members of a particular class, the possible return values). That’s often unseen in open-source languages, and many APIs too (though among others, PHP’s is quite good and an exception).
Of course, docs are only a base – often the only people who can answer your question are the devs themselves. So the best projects are the ones that offer awesome documentation, and easily access to the developers, and it’s nice to see some are finally heading in that direction.
MattH
on 14 Nov 07My concern with open-sourcing software would be that other people would muck it up. That probably sounds arrogant, but I don’t mean it to be. Certainly there are millions of developers who could improve upon anything I created. But . . . there are also millions, well, thousands, who could have a negative impact. I have limited experience with OSS so perhaps that is not a valid concern. ??
This discussion is closed.