Subscribe by Email


Showing posts with label Software licensing. Show all posts
Showing posts with label Software licensing. Show all posts

Sunday, November 6, 2011

Different licensing situations in software development - Part 7

As a part of this series, I am writing on software licensing models (software licensing and open source), particularly when you use software components inside your software product. For example, you could be using an open source software for parsing XML, instead of writing your own software for this purpose. The same thing could be repeated for any such open source software product that you may want to use.
Now, if you want to use a service (such as providing an email service, or having an online photo editor, or some other similar service), then it is easier to use open source software than if you are distributing your product as a shrink wrapped software. So, in the previous post, we talked about how using a CopyLeft license put terms on the final software that any derivative work based on the copyleft license would also need to be released on the same license as the copyleft software. Further, these rights cannot be subjected to revocation at a later point. So, if a free software does not ensure that derivative works be distributed under the same license, then it is not a copyleft license.
In addition, copyleft itself has weak and strong provisions. A weak copyleft provision allows that if a commercial software uses a copyleft software component, then only if the component is changed, then the changed section of code will need to be available for re-distribution. The concept of a weak copyleft provision is provided under the GNU Lesser General Public License and the Mozilla Public License (so you can find commercial software that actually incorporates component software that is licensed under the LGPL and MPL); while there are strong licenses such as the GNU General Public License that enjoins the entire incorporating software to be released under the same terms as the component.
What this also means is that if you are working with a commercial software company, then any use of licenses which have terms such as copyleft, GPL, LGPL, etc needs to be looked at very carefully before you go ahead with using such software. Using GPL would in almost all cases be totally ruled out.
More in the next post ...


Saturday, November 5, 2011

Different licensing situations in software development - Part 6

In the previous post, I was writing about easy availability of various items (software licenses), and ended up with a listing of the different kinds of open source licenses (the various names of the open source licenses were written down). In this post, I will continue on the subject of open source licenses, as well as the difference between closed source licenses and open source licenses. And open source software is a slightly vague term, which is in fact, further explained into free software and open source software (with the difference between them being that free software focuses on getting the software without charge into the hands of the user, while open source means that the focus is on ensuring that people have access to the source of the software and can make changes).
Here is a listing of all the open source licenses: http://www.opensource.org/licenses/category
Some of the terms used in the licensing debate cannot make sense unless you have read some explanations of them. For example, there is a term called "Copyleft". Copyleft is something that is very critical for makers of commercial software, since Copyleft not only insists that the software should be open source for anybody using that software, but if anybody uses the software and modifies it or extends it, these modified versions should also be made open source. So, if somebody uses that open source software, integrates it into their software, then the licenses compels them to release the modified version of the software as well. This restriction prevents most people who make commercial software to avoid the use of Copyleft software in their own software. If you are thinking of using Copyleft software, please be sure to check the exact terms of the license and also check with your legal team (most company legal teams I know are very hesitant in using copyleft software).
In Copyleft software, the initial owner of the software has not waived their rights, instead has ensured that there are some restrictions on the usage of that software in terms of commercial software. Read more at this Wiki: http://en.wikipedia.org/wiki/Copyleft

Read more in the next post ..


Sunday, October 16, 2011

Different licensing situations in software development - Part 2

In the previous post (software licensing in software development), I had written about some of the situations that emerge in the realm of commercial software development. Most of these have to do with the usage of software from other companies that are included in your own software. One may ask as to why you would need to include software from other companies as part of your own deliverable ? Well, there are many reasons. The biggest reason is that your team cannot write software for everything that is needed to be done, and somebody may have done a far better job in a specific area of software that you would take a long time to do.
Consider some specific situations. You have a children's software that allows them to create their own cards with a lot of fancy stuff, and eventually, you would be able to create some cards with lots of music and some videos. One of the ways to share this is through writing such cards to a DVD, such that you can give this to the friends of your children and they can play this on their own DVD players. There are 2 spots where there is a need for some specialised software. One, when you are using pictures and videos, these can be in a number of different formats and you need a way to read the most common of these. If you were to try and write all such tasks into your own software, your team might not have the technical ability to be able to decode some of the formats, and you will need to use some external software or codecs for the same purpose.
Similarly, when you need to write these creations to the DVD, you need some specialized software. Writing to DVD requires the ability to connect to the DVD using the appropriate middleware, and a lot of this stuff is already present in existing software that can be used in your own software.
These are 2 simple cases that show the usage of other 3rd party software in your code, and as your own software becomes more complicated, the need for more such software becomes even more complicated.

I will write more in the next such post ..


Facebook activity