Open Source or No?

Free/Open Source Software (FOSS) has taken the world by storm. Startups everywhere have built their businesses upon a foundation of FOSS products, with the LAMP (Linux-Apache-MySQL-Perl/PHP/Python) platform being the best-known among them, and some have gone beyond using FOSS to producing it. Even some of the more traditional, established companies are contributing to existing FOSS projects and releasing their own products as FOSS.

Going open source can bring major benefits for your software and your company, but it can also invite disaster if you’re not familiar with both the concepts and the culture behind it. So let’s clear up some of the common misconceptions surrounding open source:

You Still Own Your Code

Whatever code you write (or pay someone to write for you as a “work for hire”) belongs to you, unless other arrangements are made. As the owner of the copyright on that code, you will never be legally bound by the terms of the code’s license, so you will still be able to use it in whatever non-open way you might desire.

Until you accept someone else’s patch.

If you release a FOSS project and I submit code for it, then I still own the copyright on my submission. By incorporating my changes into your project, you become bound by the project’s licensing terms because you no longer own the whole thing. The one exception to this is if I assign rights over my contribution to you above and beyond those in the FOSS license, most often through the use of a Contributor License Agreement.

You Can Sell FOSS

FOSS licenses place no restrictions on who can distribute the software covered by the license or how. Their restrictions apply to those who make changes to it. Depending on the license, anyone making modifications may be required to do such things as:

  • make the source code available to anyone they distribute the software to
  • provide attribution to the original author
  • submit the changes back to the original author

 
Even if you are subject to the FOSS license, you can still sell or give the software to whoever you like. But they can also sell or give it to whoever they like, so the cost will tend to drop to zero rather quickly unless you can provide some additional value to encourage people to pay you for your version when they can get it free (and legally) from someone else.

One common way of doing this is to make use of a Contributor License Agreement, as mentioned above, which allows the original copyright holder to sell the project under a commercial license in addition to free distribution under a FOSS license.

Open Source Is Sharing

Open source is not a gimmick for getting programmers around the world to write a program for free which you can then turn around and sell. Unless the programmers gain some benefit from contributing to your project, they are unlikely to do so and, worse, you may get bad press in the FOSS community for trying to take advantage of them.

For this reason, FOSS licensing tends to work better for software which potential developers are likely to run on their own computers, not for the custom portions of an online service or other “unique” offering that’s intended to only run in one place.

I recently advised someone who wanted to set up a web-based service and sell subscriptions for access, but also to make it open source so that outside developers would contribute and improve on it. Although basing the commodity portions of such a system on existing FOSS projects works extremely well - that’s the heart of LAMP, after all - trying to present the service itself as FOSS would have gone quite poorly.

I explained that developers would have no reason to make free contributions to his for-pay service and, even if they did, they would need to set up their own working installations of the service to develop against, at which point they would be in a position to compete against him by offering the same service at no cost. This was a case for which FOSS was simply not well-suited to his objectives.

 
Have you considered using FOSS licenses for any of your projects or do you have further questions about FOSS which have not been addressed here?

[Post to Twitter]   [Post to Plurk]   [Post to Digg]   [Post to ping.fm]

Post a Comment

Your email is never shared. Required fields are marked *

*
*