0

The problem I have might seem trivial for some of you but in general I have a question about all those "free" software licenses (mainly for PHP libraries).

Let's assume that I want to create project for end-user and I want to sell it to them and if possible encrypt my source code.

For example for Zend Framework licence is New BSD License and for Laravel it's MIT license. On Zend framework there is such short info:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

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.

but it means nothing for me. What does it mean the first one? Should I simple download Zend Framework and put in directory and when I don't do anything with it I can forget about it or maybe I should tell my client that I used framework and my software may not working because

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES ...

I really don't understand how those licenses work and what are differences between those licenses. Could you provide me some help or external resources where this issue is explained in a simple way?

2

To start with the paragraph in all-caps ("THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES ..."), that is called a disclaimer. These kinds of disclaimers are very common for software and their purpose is that if you get hit by a problem that could be caused by software package X, then you can't take the authors of X to court and sue them for damages.


What that BSD license text means (and the MIT license is similar) is that you must not remove the copyright line (Copyright <year>, <names>) or change the license text (which extends to the end of the disclaimer). If you made substantive changes to a source file, then you may add your name to the copyright line and change the year to the current year.
Also, if you distribute your software in binary (compiled) form, then you must have some documentation that states that portions of your software are written by others and which copyright license applies to their code. Having this documentation is also a good idea if you distribute in source code form.

If you use multiple external libraries that fall under the same license, I would recommend to organize the documentation like this:

  • For each relevant license, create a file named LICENSE.<licence> with the text of the license (minus the Copyright lines!)
  • In your README (or similar) file, have a section 'External libraries', like this:

    External libraries
    ------------------

    This software uses the following external libraries:

    • Zend Framework: Copyright <copyright information for Zend Framework>. Licensed under BSD license, see LICENSES.BSD for details
      Website: <Zend Framework URL>
    • Laravel: Copyright <copyright information for Laravel>. Licensed under MIT license, see LICENSES.MIT for details
      Website: <Laravel URL>

     

The BSD and MIT licenses are permissive licenses, because they don't put any further restrictions on how you can use and re-distribute code licensed under them.
Other licenses may put additional restrictions in place. A common one is that you must also provide the source code for modifications that you made. The GPL goes even a step further and requires you to provide source code for any application or library that is used in the same program as a piece of code licensed under the GPL.

  • So if I understand you correctly, for MIT and BSD license I can sell the final product and I can encrypt my source files but I should mention somewhere (for example in file on webserver) that this code uses 3rd party libraries (and somehow point into those licenses). Are there any similar licenses that have no restrictions about my code usage? What about encrypting those libraries? For example I bought one product (PHP system) and source library files are encrypted and this library is LGPL license. Is that ok or maybe in my product I should avoid encrypting free libraries source? – Marcin Nabiałek Jul 24 '14 at 12:45
  • MIT and BSD are about the two most permissive licenses around. I don't know where encryption stands legally with respect to open source licenses and it would probably depend on who gets a key and under what conditions. My guess would be that if anyone can get a key (and thus access to the actual sources), then it might be considered equivalent to a zip file/tarbal. But it could also be considered a binary distribution regardless of how easily you can get a key. That is something to ask a lawyer. – Bart van Ingen Schenau Jul 24 '14 at 13:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.