Why Open Source Matters

Open SourceI’m often asked, “How can you make any money with Open Source software?” While I’ll attempt to answer this question in this post, the real topic to be discussed here is why developers like and want to freely give their code away; why open source matters, why it works. These two questions, how one can make money with free software and why a developer would want to give code away, are very well connected.

For some readers, it will help to have a definition of Open Source Software. First of all, open source software isn’t “freeware”. It has a license, and like professionally written software, open source software is managed and nearly always has a code repository so that the development team can manage versions and releases. The Open Source Definition was developed by the Open Source Initiative and has ten points that are used to determine if something may be called “open source” or not.

  1. Free Redistribution: the software can be freely given away or sold. (This was intended to encourage sharing and use of the software on a legal basis.)
  2. Source Code: the source code must either be included or freely obtainable. (Without source code, making changes or modifications can be impossible.)
  3. Derived Works: redistribution of modifications must be allowed. (To allow legal sharing and to permit new features or repairs.)
  4. Integrity of The Author’s Source Code: licenses may require that modifications are redistributed only as patches.
  5. No Discrimination Against Persons or Groups: no one can be locked out.
  6. No Discrimination Against Fields of Endeavor: commercial users cannot be excluded.
  7. Distribution of License: The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties.
  8. License Must Not Be Specific to a Product: the program cannot be licensed only as part of a larger distribution.
  9. License Must Not Restrict Other Software: the license cannot insist that any other software it is distributed with must also be open source.
  10. License Must Be Technology-Neutral: no click-wrap licenses or other medium-specific ways of accepting the license must be required.

There are many so-called open source applications out there today, too, with commercial companies attempting to jump on the open source wave. For example, SugarCRM has a version they call open source, yet it clearly doesn’t fit the criteria given above.

So now that we have a definition of what open source is, and what it is not, what is it about this free software that should make people want to work with this stuff? Can volunteers make something better than the commercial sector?

Let’s take a look at a quote from OpenSourceMatters.org:

“The basic idea behind open source is very simple: When programmers can read, redistribute, and modify the source code for a piece of software, the software evolves. People improve it, people adapt it, people fix bugs. And this can happen at a speed that, if one is used to the slow pace of conventional software development, seems astonishing.”

High quality software built quickly. Yup. That explains some of the reasons developers like working with open source software.

However, for me at least, the main reason is work satisfaction. I like knowing that my work will be reviewed by not only other developers, but that the usefulness of it will also be evaluated by the people using it, too. When I released a Joomla Component of my own, the input I got back caused me to add features and tools that I had never even considered. It will be far, far better because of this feedback. I like knowing this and it makes the work I do not seem like a chore, but rather, a joy. What I’m contributing will be better.

I also like knowing that I won’t likely have to start from scratch to build any website application. Take a look at the number of Joomla ‘add ons’ one has available to use. If what I need isn’t already developed - and frequently it is, and in many different forms, too - I can usually take something and modify it to my needs without having to build everything from the ground up. Or, if I’m willing to wait and think my suggested changes have merit, I can suggest to the project working on this code that they consider adding the features I need. If I add them, I will in turn give them back to the project to benefit everyone.

SourceForge

SourceForge is also a great resource of projects - and ideas. Their offerings cover a wide range of subjects and operating systems. While most open source applications are being built in the so-called LAMP environment - Linux-Apache-mySQL-PHP - there are many also built in Python, Perl, Java, and other languages, even ASP.

Taking part in a project is easy to do, but having your work added and merged with a project is not. A programmer’s code must be vetted and fit the conventions established in the existing code. Open source based code gets reviewed by many different sources. Taking part with some of a well known project feels good, and can certainly be a strong addition to anyone’s resume.

These are some of the reasons to want to program with open source software, and perhaps for clients/customers to want to use open source tools, but it still doesn’t answer the question of making money. For many developers, it simply isn’t about money. Period. It’s about enjoying what you do and making a really useful and cool application. That’s hard for some people to understand but it plays a role here none the less. I make money with open source software by selling my expertise with working with it. While what I’m using to create a website is often completely free, my time to install it and modify to meet a client’s needs is not. Nor is my time in researching and suggesting the best mix of applications. For most of these projects, there’s also a bit of training involved. Again, my time going over the best way to use an application is something I can charge for.

Do I charge people for developing/customizing something that later will be available for free to someone else? Yes, I do indeed. From time to time, I have a customer who will bristle at this. Explaining to them though that the cost of developing their project would be on a magnitude X times greater had we started from scratch and not used what others had built usually gets the point across that their contribution is small and not so expensive. Again, I’m charging for my time, not the code. The code remains open source - always.

Charging for help is also not to say that that there isn’t ample help available elsewhere - for free - that my customers could turn to themselves. Often there is quite a bit of help guides, user guides and support forums associated with an open source project. Larger projects have thriving communities with very active message boards.

Overall, working with open source software makes my job more satisfying, easier, and fun. My customers get much more for their money, too. It’s also satisfying knowing that my work will be helpful and useful to other people, too. Using open source software can certainly be viewed as a sustainable practice. Developers are paid for the time installing and customizing things, but the foundation that the project is built upon is one that continues to grow and improve, and is free to all. Everyone benefits from this approach.

NONE, NADA, ZIP, ZILCH

Why don't you pony up and be the first to add your comment?

Add your own comment...

You must be registered to leave a comment.

May 2008
Mo Tu We Th Fr Sa Su
« Apr    
 1234
567891011
12131415161718
19202122232425
262728293031  

Blogroll

Search

Giving Back

We donate a portion of all of our sales to environmental causes.  Learn more about how we give back and use our work for a better world.

Our Clients

View Client List

Testimonials

"A million thanks Drew...I think it's going to look great!!"

 

- Betty Briggs
Briggs Benefits 

 

Login






Lost Password?
No account yet? Register

Translate

Current Projects

- Improve and update Ghost Ranch's Intranet tools
- Ning.com website for Grassroots Organizer's Conference
- Improvements to Advocacy 2.0
- Building an iCal Export tool for phpCollab's calendar
- Beta testing Joomla 1.5

Site Summary

The Design Mission are web developers specializing in Open Source software, particularly Joomla, osCommerce, phpCollab and Gallery2. We can also create custom solutions upon request.

Other areas of expertise include search engine optimization, newsletter marketing, graphical user interface (GUI) design and information architecture.

The Design Mission's web design and development process will make the Internet work for you.