Open source and freedom gone wrong?

One of the nice advantages of open source is that encourages collaboration, on a project, atound the world. It especially makes sense when people, who have common goals, can all add something to the project.

It may even make sense in humanitarian projects. For example a project was started in my country, to create a database of missing people, after an earthquake in Feb 22nd of 2011, in the South Island of New Zealand.

However there seems to be a disturbing trend is that developers of systems are considered to be not worth anything because after all there is free stuff out there. I am not really complaining about the availability of free software out there. I have even used a lot of it myself. Its just the attitude that programmers and developers should work for nothing is what irks me. I think much of that attitude has come from what I see as mistaken notions of what open source is really about. To me it means:

  1. You get the source code and can change it yourself and you are free to employ anyone you want to change it.

  2. If you want a feature added to a project you can ask the original developers and maybe even pay for the enhancement knowing that they have a commitment to the project thats not simply motivated by money. (That is you know their hearts in it.)

  3. To learn something new, you can calloborate on projects that interest you and, as part of a team, learn something about good engineering principles from others (hopefully).

To me it doesn’t mean:

  1. You should work for free

  2. Your skills are worthless because there is free software out there.

Ok, what do others think? Does anyone else think that some wrong attitudes about open source have led to undervaluing of coders and developers?

That isn’t true. I can’t tell you how many Drupal modules have been simply abandoned or rewritten without a migration path. Not to mention you are unlikely to come across anyone with a sense of urgency. Also, people like working on the latest a greatest stuff. No one likes bug fixing legacy code that a company might be stuck with due to the evolution of a long standing and complex project written on a much older version of said open source technology.

I’m a firm believer that any core code changes beyond patches should go through the maintainers. Any patches should be shared with the community/maintainers. To me it is irresponsible to go make a bunch of changes to open source code all willy-nilly without thinking of possible impact they might have on maintaining or upgrading said open source product for the next poor chap.

That I agree with.

I don’t believe I have *yet to come across that mentality. While some people I have done business with in the past could of had that mentality I think they since learned that free software rarely meets the business requirements for a project. Open source software might get you partially there but unless you compromise is an option having a dedicated developer devoted to business requirements is very different than asking for things on a whim they might get done for a maintainer. A maintainer who probably does not have said clients business requirements at the top of their list of priorities. I mean how many times have cringed at a clients stupid idea that you know is destined to fail yet they insist. You really think that maintainer of said open source software would be as enticed to add said feature as a dedicated developer.

I believe most of the open source software out there is sponsored by some company. I mean there are those projects out there that are completely on someones free time but the projects that seem to flourish are those that are associated with a company rather than one single individual. Normally the ones associated with a single individual are just to learn and take a shot at pissing into the wind destined to die or never be found.

Thank you for comments. My comments below quote.

With regard to the “next poor chap” I guess I was thinking more in terms of forking a project for private use. Not so much in forcing ones own changes, made to meet personal business requirements, back on the original code base necessarily. However, thinking about it, I guess that does kind of leave them on their own, without support, unless that development is using a plugin architecture to extend the system.

Interesting case in point regarding Drupal. However, as someone who has been trained in software engineering principles, there are many open source projects I wouldn’t want to build on, because I know those projects heartily break many well established design principles. However many of those kind of projects often seem to get an unfair amount of popularity and Google ranking.

Regarding first comment, I agree its not terribly satisfying bug fixing legacy code thats already fixed on the trunk. Even worse if the situation has arisen from lack of forethought, by developers, towards a migration path for the data trapped in those legacy database models to work in the current trunk version. However, dont you think, open source might still work for a business with custom development needs when those open source projects dont trap their business data in legacy systems for lack of a migration path?

I’m not sure what kind of world you are living in. Writing software is expensive and software engineers are among the highest salary job in U.S. Where do you get that developers should be paid nothing?

Open Source is free but it’s still PROFIT based. For example, there is Open Source framework called Spring Framework. This has been sold by VMWare for $500 Million dollars! The provide the source for free but they provide support and training at a cost. That’s how popular open source framework creator gets their money.

I’m not in USA. My observation comes from looking at sites like freelancer.com (which admittedly is based in Australia).

The code quality has increased with open source. You can judge an open source project by looking at the code, that’s a huge gain over closed source projects. So, if anything, open source is a way to get validation from your peers on one hand, and on the other hand, you learn what any course or programming ebooks falls short to teach you: how to get things real things done. How much money you’d have to pay to get such an education?

Finally, as with anything, your coding is as lucrative as you make it. I’m sure you wouldn’t dream of adding 1% of your work to a 99% open source project backbone and expect to have a 100% profit margin, would you?

Our company use lots of open source software. We don’t pay for support. We have no idea where the creators get their money.

I think the only IT-related thing our company pays for is hosting, storage, backups… and we also use an open source fork of OpenERP which has a “foundation” behind it (maybe this will later become a company) and we pay the 2-3 main core devs money to travel to our office for discussion/bug fixes/client requests. I don’t think we’d be paying them anything if we weren’t asking them to actually physically come over here (from another country).

We don’t pay for our operating systems, our database, our caching software, our full-text search engine, our server software, our webserver software/framework, or our development tools like editors, version control, testing (well, actually I think one dev here uses Eclipse, but even then I dunno if you pay for that or what). We get regular updates and bug fixes for all of this software. They are all popular-enough softwares that there is plenty of help info on forums, places like Stack Overflow, etc (as opposed to software so uncommon that nobody really uses it).

Surely this is where the impression comes from that open source software developers don’t get paid… those holding that view are using the software and not paying. Most of our software isn’t backed by a company (our server software for example became a real company just in 2011. It was started in 2004 by one dude)… a few are by foundations and communities, the rest are 1-3 people just making stuff and throwing it out on github or somewhere. Not difficult to see at all.

And it’s because of this setup that tech companies come into existence and the IT industry is thriving. It’s why/how our company exists, and our competitors, and some of our clients. Anyone can start something, so long as they have electricity, a computer, and an internet connection. And that’s amazing.

Your post, @Kiwiheretic; is well thought-out and I agree with the general concept. Thanks for bringing this subject to light.

It strikes me as quite ironic that, as you stated, there is an impression that software developers should provide their expertise and experience for free (perhaps this arises from simply from the fact that many do) and yet, to those who are not skilled in software development what we do appears almost like Magic.

My full-time employment is as a developer (and tester). And yet I spend almost all of my free time working on Open Source projects and writing technical articles. As you alluded in your post, it is (for me) entirely resultant from a passion about the technology. There is no desire or quest to be paid. And, I would propose that I feel as though the experience (as you mentioned, learning from those who are better than me by exploring and refactoring their code) is a fair compensation for my time/effort.

The example you have is valid and it’s true for 99% of the application which uses Open Source. What you are not understanding is that not all open source library/framework are equal in terms of learning curve. Because of this the creator of the open source typically make a book and sell it on Amazon. Take a look at jQuery which is created by John Resig(forgot his name) published a book about JavaScript and it’s top selling book on Amazon. The book was about how he created the jQuery framework. Then there’s the holy grail Java Framework called Spring. This framework is pretty much the backbone of the architecture. It starts off using Spring Core but it has another 20 sub-projects under it. If your company is pressuring for time (which is 99% true), they’ll send you to training course on that technology. Another prime example is, Hadoop Framework. The creator started off as Open Source then got hired to maintain the source and create special “bundle” version of the framework to sell to their customer (including support). I am guessing that he is now making between $500k~millions…who knows. What I’m saying is that the popular Open Source creators have a way to make big bucks and they certainly did not think to do all that for free.

I wouldn’t use any freelance sites on the web as a reputable source for client insight. Just about everyone on those sites are just looking for a cheap indian to create something that will inevitably fail. That is not at all an accurate reflection of every client or the vast majority. Those are just the bottom dwellers looking for a deal which will most likely cost them more in the long run.

When it comes to open source I don’t really have the time nor motivation to spend my free time building things. Anything that I have ever contributed has been built for project at a company that I had worked with than made open source through the proper channels who could grant that type of permission. I still have some things on github but the truth of the matter is I rather spend by time solving real world business problems and be compensated. Not to mention sit back and relax once I’m off the clock.

Oh, I understand it; I was pointing out where I thought the idea the OP was talking about came from. People like John Resig, whose name we know, are seen as outliers.