Pregunta

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?

¿Fue útil?

Solución

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.

Licenciado bajo: CC-BY-SA con atribución
scroll top