Open Source Licensing
If you have created software for others to use, you need to decide what license to use in distributing that software to others. Open source licensing means you give your source code so that others can modify or create derivative works from your software. What others can do with your work is governed by which license you choose. Alternatively, you can commercially license your work, where you set the terms of what others can do with it in the written license to which they must agree if they want to use your work. In many cases, a commercial license requires a fee. Commercial licenses can cover both source code releases and object code release where the licensee never has access to the source and cannot create derivative works. You can also dual license your work such that a user has the option of using it under an open source license or under your commercial license.
You may want to use an open source license if you want to release your work into the world for any use at all without compensation – say if you just want to be helpful, or you want the notoriety for creating something and hope to see the widest use. You may also create a business where you provide services and support for the work. Or you may host related closed source offerings, possibly server side. Typical permissive open source licenses include MIT, BSD, and Apache. MIT and BSD are quite simple. Apache is equally permissive, but carries more protections for the author.
You may also choose an open source license that requires any further distribution of your software to be open source. This is called a copy-left license, where the license requirements flow downstream to software that includes your code. The most common such license is the GPL v3 (the GNU General Public License version 3). Where your software is an SDK or code that’s included in the users’ applications or website, then this would require that the user release the source to their distributed applications. This is an effective way to force closed source users to seek a paid commercial license from you for the same code, to cover the closed source use. The perspective here is that closed source uses are usually for profit, and if a
If you offer up a commercial license along side an open source license for the same code, you’re welcome to set any terms you like. A good example of such a commercial license that I’ve worked on is the Sencha Software License Agreement.
If you’d like to explore the various open source licenses more, check out GitHub’s Choose a License site, which is quite helpful.