We – Software professionals like everybody else down
streets know that you need to have license to use licensed software, and you
need not license to use open source software. Licensing was not an issue in
majority of the Asian part of the world a two three years ago. However even
that picture is ridiculously changing now. As project managers who travel
across different geographies you must have to know precisely at least different
type of license agreements and their respective legal obligations.
One very confusing area is that terms free software and
open source software are used interchangeably. I have borrowed following philosophies
related from GNU. “In 1998, some of the people in the free software community
began using the term “open source software” instead of “free software”
to describe what they do. The term “open source” quickly became associated with
a different approach, a different philosophy, different values, and even a
different criterion for which licenses are acceptable. The Free Software
movement and the Open Source movement are today separate movements with different views and goals, but may be
they do work together on some practical projects”. Therefore I believe there is
a propaganda based term clash between Open Source vs Free Software founders to
demark their territories in the competitive landscape.
The TERM
clash - Open Source vs Free Software
1. A free
software license Definition
: is a software license which grants recipients extensive rights to
modify and redistribute, which would
otherwise be prohibited by copyright law. To qualify as a free
software license, the license must grant the rights described in The Free Software Definition
or one of the similar definitions based on this.
2. An open-source license Definition
:
is a copyright license for computer software that makes the source code available for everyone to use. This allows end
users to review and modify the source code for their own customization and/or
troubleshooting needs. Open-source licenses are also commonly free, allowing for modification, redistribution, and
commercial use without having to pay the original author. Some open-source
licenses only permit modification of the source code for personal use or only
permit non-commercial redistribution. All such licenses usually have additional
restrictions such as a requirement to preserve the name of the authors and a
copyright statement within the code. One popular set of free open-source software
licenses are those approved by the Open Source Initiative
(OSI) based on their Open Source Definition
(OSD).
What is important?
Therefore even provided the above definitions I too could
not still find a clear difference between Open Source and free Software in
terms of the purpose they stand unless otherwise the differentiation of the terms
of license granting body. Let’s forget the craps for a moment and see what seriously
we really have to know. I have heard, that starting in the early 2000s, number
of companies began to publish a portion of their source code to claim they were
open source, while keeping key parts closed. This led to the development of the
now widely used terms free open-source software and commercial open-source software
to distinguish between truly open and hybrid forms of open source. This is such
a critical situation where as project managers we have to be careful and understand
the legally obligated nature of the license. It says generally Free and
open-source licenses generally fall under two categories: Those with the aim to
have minimal requirements about how the software can be redistributed (permissive licenses),
and those that aim to preserve the freedoms that is given to the users by
ensuring that all subsequent users receives those rights (copyleft Licenses). I think this is the point where most writers
and speakers deceive us. Knowingly or unknowingly they may be using the term
Free Software for the Copyleft license and Open Source for the permissive
license. Correct me if I am wrong.
Copyleft license
|
Permissive license
|
Eg:
GNU General Public License
(GPL)
Note:
Any modifications made
and redistributed by the end-user must include the source code for these, and
the license of any derivative work must not put any additional restrictions
beyond what GPL allows.
|
Eg:
MIT license (Massachusetts
Institute of Technology)
BSD license (Berkeley Software
Distribution)
Note:
Gives a user the
permission to take the code and use it as part of closed-source software or
software released under a proprietary software
license.
|
Figure: The distinction between Copyleft vs Permissive
license
So in brief, the
GPL license impacts "derivative works", but the MIT/BSD
license does not. This has huge implications. If that too
complicated - Let's take the following examples.
Code G is GPL licensed. Code M is MIT
licensed. You wrote X.
You create project GX which contains your code (X) and
G. If you distribute GX (the source or binary) then you have to make GX
available (this includes X -- your code -- which you might not have wanted to
make available). Why? Because if GX is a derivative work, then GX
is also licensed under GPL.
Note -- let's now say that someone takes your GX (since
you published the source code) and makes GXY (by adding his Y code) -- now if
he distributes that code (or binary), then GXY has be licensed under the GPL
and the source code has to be made available. This is a property that
some people call "hereditary", other call "viral", and some
prefer the pun "copyleft" -- which is the opposite of
copyright.
Let's now create MX which contains your code (X) and
M. If you distribute MX (code or binary) then you have to indicate
that part of MX contains MIT licensed code. But you don't have to say how
much of it does, where it is used, how it is used. You don't have to make
X available. And you can license MX any way you choose. You can license
MX under MIT if you want, and publish it. You can also license MX under
GPL -- (you'd be licensing MX, but not altering the license of M -- since it's
not your code to re-license). You could also sell MX under a commercial
license.
Note -- it would be pretty difficult to sell GX since
anyone can get the source code from you -- so why would they buy it?
Moreover you cannot add any restrictions onto GPL licensed code -- so you
cannot, say give it for free on the condition that someone donate a $1 to
charity. So in effect, if X is a valuable asset to you, creating GX (and
distributing it to a 3rd party) just devaluated it. This will cause some
to be concerned about using GPL code if they deal with other code they value
(e.g. have patents, secrets, etc.)
Credits
Google/Wikipedia
Credits
Google/Wikipedia
Charaka Danansooriya