Friday, September 7, 2012

The least restrictive open source license?

I am working on a program to predict protein chemical shifts and predict protein structural features from chemical shifts. I want my work to be available to anyone, for any purpose, free of charge. Would be nice if the work would remain attributed to the respective authors, and finally I don't want to get sued under any circumstances.
Although widely used, the least restrictive open source software license is certainly not the GNU General Public License. I wouldn't mind having my code used for commercial purposes, for instance.

I also considered something along the lines of what is suggested here:
Steal this code and use it for whatever you want. No support or guarantee is provided or implied - use at your own risk. Attribution would be nice but not essential.
However, after searching around a bit, I settled for the "2-clause Simplified BSD License":
Copyright (c) <YEAR>, <OWNER>
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met: 

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer. 
2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution. 

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
Only question is why the 2nd half is written entirely in CAPS!

2 comments:

  1. The BSD license is indeed the best choice for your requirements in my opinion.

    But note that the GPL certainly allows commercial and proprietary use - it does not allow proprietary redistribution. That means any company can use your code in-house, but they could not use your code in their products unless they open-source it. If you use the LGPL, they can use your code in their products, but have to contribute back whatever changes/improvements they did to your code.

    Of course, for many companies the GPL is a non-starter.

    The all caps is because of LAWYERS...

    Another option would be the MIT license (which is worded slightly differently, but the same in principle), but BSD is really the best choice for that as it is widely known and accepted.

    ReplyDelete
  2. Hi Michael, and thanks for the 2nd opinion! Hadn't heard of the MIT license, though - but looks like it's pretty close to the BSD licese. That was last step before launching on github. Yay.

    ReplyDelete