economic logistics of open source?
January 2, 2009 12:48 AM   Subscribe

I'm looking into the Open source philosophy to programming seems to be quite an intricate and somewhat confusing setup. I am wondering why so many people put their energy into developing libraries for some open source project with seemingly no direct return.

I understand how if you structure yourself as a company you can develop using Open source and make money by providing services, support etc.

But if i want to contribute to a library, would that ever somehow make me money, just as a coder?
posted by figTree to Computers & Internet (20 answers total) 5 users marked this as a favorite
 
Not necessarily, but it gets you the library you want.

There's lots of stuff written on how to make money with open source, but the most successful projects are the ones written by people who want the result— this isn't just true of open source software, of course.

Let's say my job is to do X. In order to do my job more effectively, I write some software to help me. Then what? I can either sit on the software and keep it to myself, try to sell the software, or release it. If I release it, then other people who also want to do X, or maybe they want to do Y which shares a lot of subproblems with X, might improve my software for me. For free! They benefit too, obviously. And we're both better off than if I'd kept the software to myself. I could try to sell the software, of course, but selling software (even after it's written) is quite a lot of work and difficulty, and if I'm not already in the business of selling software (perhaps X = "medical research" or "human resources") then there's a whole lot of infrastructure and expertise I don't have and probably don't want to waste my time and energy developing.

People do monetize FLOSS by being in the consulting business and getting clients from it. So in that way, random contributions could make you money. It's not the likely reason any given line of code got written, though.

There are a billion other reasons to write code, too. Some people are ideologues. Some people simply enjoy coding.
posted by hattifattener at 1:04 AM on January 2, 2009


The main reason that you opensource code is so that your code will actually get used. My code is a little piece of my personality, of my brain. I want it out there. If I don't need to make money from it, or if monetizing it would cost more than I'd ever make (as is often the case), the only way it's going to get used is if I give it away.

And don't forget ego. If I write a really neat routine that solves a pretty difficult problem, I want accolades and fame and recognition. I want somebody to say, "Goddamn, Aubrey, that's some fine-ass code you wrote there. You must be very clever."

But, if I release commercial software without the source, none of my fellow programmers will ever see how incredibly elegant my solution was. I'll never get my propers.
posted by Netzapper at 1:22 AM on January 2, 2009


Not everyone looks to make profit in life.
posted by twistedonion at 1:25 AM on January 2, 2009 [4 favorites]


I also should mention that I give back to open source libraries that I use (but didn't originally author), not out of a sense of duty to give back, but usually because I fixed some bug (or added some feature) and I really don't want to maintain (and merge) my own fork of the project. Much better to have the project maintainers incorporate my patch into the trunk, and host it from their CVS.
posted by Netzapper at 1:26 AM on January 2, 2009


Sorry, my answer oesn't really say anything. Many people have ideological reasons for contributing to Open Source. I think this may be more prevalent in Europe, but that is just a guess.


But if i want to contribute to a library, would that ever somehow make me money, just as a coder?


Because the libraries are free I'd say it will never make you anything.

I'm not a coder but I've used Joomla and charged for my time setting it up. That saved me money in developing a cms. If I wrote a new module in php as a solution for a client I'd have no problem releasing that for free (at the end of the day the money I save using Open Source means that If I contribute in a tiny way then I might feel good that I've given something back)
posted by twistedonion at 1:31 AM on January 2, 2009


If you contributed an excellent module/plug-in, you'll can build a reputation in that community, and presumably people will pay you $$$ for freelance jobs.

For instance, the guy who wrote the bulk of Drupal's Form API charges $277 an hour!
posted by dydecker at 1:48 AM on January 2, 2009


Most people who contribute to an open-source project, or start one, are solving a problem for themselves.

While generally there is no money directly in doing so, there is a larger idea to look at. Many contributors may incorporate that open-source product into their day-to-day business. Look at web-apps for example, many web developers make good money in leveraging open-source applications to suit the needs of their clients. It's in their interest to keep the overall momentum of those projects moving forward.

In a less direct way there is the potential financial benefit in contributing to open-source as a whole. If the open-source ideal and community is thriving then we can all reap the benefits of that. So while I can't really contribute anything meaningful to OpenOffice which saves me hundreds of dollars in MS licensing, I can make contributions to other projects and the spirit of open-source overall.

And then there's the fact that many coders just like to write code. They will write anything that seems a challenge and interesting. Open-source provides lots and lots of new challenges.
posted by sycophant at 2:05 AM on January 2, 2009


I enjoyed reading The Catherdral and the Bazaar a while ago, it covers some of this stuff quite well.
posted by nofunnyname at 2:58 AM on January 2, 2009


Flippin' spelling, bah.
posted by nofunnyname at 3:01 AM on January 2, 2009


As others have said, the benefits are just less direct than those that would be accrued by selling a 'product'. Reputation is an important currency in the coding world, just as good reviews are to a musician or a chef. Once you have a reputation in a particular area of coding (perhaps Wordpress modules or part of an open-source CMS framework or something) people will start coming to you with opportunities in freelace work, writing, developer talks, all kinds of stuff. Being a great coder who only works on in-house closed-source projects pretty much limits you to the role of traditional employee who only has status within their workplace.

Here's how it worked for me: I worked five years making educational software for a small company with a niche market, and ultimately got very very bored. I spent a couple of weeks in my own time back in 2000 putting together a very early Flash-based chatroom thing. I gave away a free version and also sold it to those who wanted to include it in commercial websites (admittedly not quite open-source, but it served a similar purpose). Within the next six months I'd been offered a fantastic job and had a deal to contribute to two books.

Contributing to a library may lead to nothing at all (except a little credit from users of the library). Or it could spark the interest of a coder at company X who says to her boss "hey, there's this guy who wrote that library that saved us all that time... how about we get in touch and see if he can do some work for us?". Or maybe publisher Y wants to do a book on coding libraries and plugins for a particular system, and they see your name in some source code somewhere. Or maybe you just tack it onto your resumé for some extra credit next time you change jobs. Or maybe you just do it because you're nice. Either way it's all good.
posted by le morte de bea arthur at 3:01 AM on January 2, 2009 [1 favorite]


I am wondering why so many people put their energy into developing libraries for some open source project with seemingly no direct return.

Because it's fun, and many professional programmers find personal projects to be a fine hobby.

But if i want to contribute to a library, would that ever somehow make me money, just as a coder?

My company regularly hires people based on their open source contributions, and when I am looking through the resume pile, the ones who have a history of contributions to open source projects, however minor, get sorted to the top. So it may not lead directly to money, but it will certainly help.
posted by cmonkey at 3:58 AM on January 2, 2009


Why do people surf? Hopefully, they surf to surf.

That, and it hones your skills, which makes you better at what you do for money and gives you some evidence of your experience. "My library is used by thousands of companies, including yours".
posted by phrontist at 4:53 AM on January 2, 2009


I released this because I was pleased by having had the idea of using a floating-point engine to solve anagrams. I contributed to this because I thought it was a wonderful project and thoroughly enjoyed the process of working out how to do software-driven serial communication on the Apple II at 8 CPU clocks per bit.

Sometimes art is just for art's sake.
posted by flabdablet at 5:29 AM on January 2, 2009


Bragging rights and reputation are no small things. I was talking to some fellow programmer-types in college, discussing things in life we want to do, and at one point one of my friends wistfully said, "One day, I want to make a [Linux] kernel contribution." And half the people around us sighed and said "Oh man."
posted by Tomorrowful at 7:37 AM on January 2, 2009 [1 favorite]


The modern arguments for free and open source software seem to be justifications or rationalisations of the original premise of the Stallman-led free software movement, namely that software should be free (as in speech) because it always used to be, before companies got the idea that they could provide only binaries or keep the technical documentation for it to themselves.
posted by galaksit at 8:01 AM on January 2, 2009


I like writing open-source games (not libraries, though. I'm not good enough) because it's fun and other people seem to like them. Open source is great - people have fixed bugs in my code and kept maintaining and improving the games long after I stopped working on them. I can't make any money out of this partly because I have a good non-IT government job with strict conflict of interest rules, but I do it anyway. It's actually pretty addictive.
posted by A Thousand Baited Hooks at 8:03 AM on January 2, 2009


It depends on your point of view. I think a lot of people loose sight of the fact that a lot of code for open source software is written by people who are employed to do so.

Sometimes, that's because the organization found open source software that did most of something they needed to do and found it was cheaper or faster to hire someone to add to it than it was to pay a software vendor, or for custom development from the ground up. Having done so they may re-release their improvements back to the project for a variety of reasons. In some cases, they have to because of the way the original software was licensed, and because of the way they are using it, but they also do it because it is better for them. If their changes become mainlined into the project, then its easier for them to take advantage of future releases because they don't have to worry about their private version getting far out of sync with the public version. They may release their changes because they think that it will attract other contributors, lessening their long term costs to improve and enhance the features they need. Or they may do it because they feel that its simply the right thing to do. Companies also support open source software development because it helps them set a defacto standard that will benefit them in some way, or because the software is a complimentary good that increaces demand for their main product (hardware, services, etc).

As for why an individual would contribute on their own time, people are covering that pretty well.
posted by Good Brain at 9:46 AM on January 2, 2009


take refractions research. they originated postgis, which is open and free. to do this, they built on other free software and libraries like postgresql, JTS, proj4 and GEOS.

now, postgis is used widely by government and industy, including as a component of the opensource mapserver and geoserver projects.

opensource is an ecosystem. the more tools you put out there, the more opportunity there is to make a niche for yourself.

refractions has been growing and profitable for 10 years.
posted by klanawa at 10:17 AM on January 2, 2009


For instance, the guy who wrote the bulk of Drupal's Form API charges $277 an hour!
Holy crap, chx and adrian are totally holding out on me.

In all seriousness, others have hit on the issue nicely. The vast majority of open source development is what people call "scratching an itch." You need something that does x, and you build it. Open source allows you to toss it out there for others to use. Sometimes it gets used, sometimes it gets enhanced by other people who have similar itches to scratch for their own work.

Many times, the code languishes and just sits there: as with the long tail in books and music, lots of open source software is never used by anyone but the original author. But that's okay, because in most cases they built it because they needed it. If the software is useful enough, though, it will usually start building up users.

Why would a company release software as open source? Usually, this happens when the software itself is not what they are really selling. In the Drupal world, Sony BMG essentially pays one of the core Drupal developers just to continue developing two important tools: the Views module and the Panels module, which they rely on for dozens of their artist and label web sites. Building CMS software is not their business, but they need it to pursue their business. By co-investing with others who have similar needs, they get a chance to help shape the project to address their needs, but don't bear the burden of building and maintaining something completely internally.

For an individual developer, open source is not really a "business" so much as a particular way of accruing social capital and experience. I was hired by a consultancy based on my work as a hobbyist: I built something that I needed, released it as open source, and they eventually hired me for a couple of contract gigs to add features that they needed for projects. Eventually they hired me full time because the relationship worked well.

There is no magic formula; it's a different way of looking at things, and if your goal is to write the next Quake and sell a million copies, or build a photoshop-killer and retire young, OSS is probably not a good fit.
posted by verb at 10:59 AM on January 2, 2009


Most open-source software* was written to fix an itch. The projects started because someone needed something that they couldn't get elsewhere or thought the cost trade off was better if they wrote it themselves. These projects grew because other programmers used them and modified them to be better for themselves, and ended up being pretty major things.

* The big exception to this are corporate-sponsored or university-sponsored projects, which are getting more & more common now. But a lot of the unix tools that programmers use and rely on, especially, were made by programmers to make their lives a little easier.
posted by devilsbrigade at 11:45 AM on January 2, 2009


« Older MLB Flap Hat?   |   WOK FU! Newer »
This thread is closed to new comments.