




"Building upon Free Software source code" is a phrase that can be interpreted in multiple ways. So lets look at various freedoms and responsibilities in each case:
Since you have already decided to license and distribute your software as Free Software, you should ensure that you follow the licenses of all other software that your software depends upon.
If you make changes to others' software ensure that either you license your changes under the same license as the original software or under a compliant license.
Similarly, if you include from other projects into yours, ensure that the license of the other project is compliant with yours' - if all code you use (yours' and others) is indeed Free Software (as defined by the Free Software definition) then most of these things are already taken care for you.
The reason why this is covered here is because if you're going to do it anyway, then at least you should be aware of what is expected of you and if you *have* to do it, how to do it in a fair manner. The biggest violations of Free Software licenses happen in such cases - when people use Free Software tools to build proprietary software and don't follow-up with what they're expected to do as a part of the license agreement.
If you're using free software libraries for proprietary software, ensure the following:
There is nothing in Free Software licenses that limits you from doing this. If the tools that you use to develop software run on proprietary operating systems, then you should be able to do this.
What you need to be careful about are the distribution terms of the software you write. As long as all the tools, programming languages, compilers and libraries that you use are Free Software, then you should be able to do almost anything you want without getting restricted.
Problems crop up when you use proprietary tools to develop Free Software for proprietary operating systems. Though your own software might be free, it has non-free dependencies which limit what your subsequent users can do with the software.
If your software uses proprietary libraries you also need to check the terms of those libraries to understand what limitations they apply to software developed using them.
You can still use Free Software in the following ways:
Yes. That is what Free Software licenses such as the GNU GPL require. It doesn't matter whether you've made changes to the source or not; your users deserve the source code.
On the other hand, if you have customised some software tools, even then free software licenses require you to share source code for them.
Most importantly, releasing the source code of your software under a Free Software license will only encourage more development around your hardware (and hence more sales of it).
A software license stipulates the conditions under which the software can used, copied, distributed and changed. A license puts forth these conditions in very accurate legal language so that there is no ambiguity about these conditions.
It is extremely important to license your software - especially if the software you write is Free Software - because youwant to protect your interests as well as those of your users and developers.
There is no specific name for proprietary software licenses. Broadly, such licenses are classified by software developers and vendors as End User License Agreement (EULA). EULAs are very detailed techno-legal documents that seek to use a variety of international laws (like the copyright law, the contract law, the trade secret law and so on) to enforce certain conditions on the software.
Unlike Free Software licenses, which are designed to protect your freedom, proprietary licenses typically seek to limit your freedom to ways and conditions under which you can use, copy, distribute or change the software.
A lot of times you might be faced with claims that a specific software is Free / Open Source Software. Here is a smallcheck-list that can be used to judge whether a software is really Free Software or not:
This is the easiest way to know if the software is Free / Open Source Software.
These tests are not exhaustive and different situations might require more extensive study of software licenses. However, generally software developers developing software with the intent of protecting your freedom will use well-known Free / Open Source software licenses to clarify the exact terms under which their software is distributed. They have no need to hide constraints on your freedom under multiple layers of legalese.
No - if their software really is Open Source software they should publish source code for their software. If they don't then they are using the term "open source software" just to promote their software - they might actually have no interestin promoting or protecting your freedom.
Sometimes, when vendors say that their software is "open source software" they might mean that it is powered by orbuilt on open source software. That is not good enough and that does not mean that their software itself is free or open source.
There are some more conditions under which they are required to provide source code to you - irrespective of whether they have made changes to it, irrespective of whether their "own" software is free or open source software. The GNU General Public License requires a distributor to provide source code of software even when it is distributed without any changes to it. This is to ensure that users' freedoms are never compromised and that they cannot compromise other user's freedoms.
It all depends on what you plan to do with your software. If you plan to use the changed software only for your private use, then there is no obligation on your part to share your changes or the changed version of the software.
On the other hand, if you are going to be distributing the software to others, then anyone who gets access to yoursoftware also has a right to get access to its source code. And in such cases you must provide the source code.
Yes - the device manufacturer might be violating a wide range of Free Software licenses. The Linux kernel is distributed under the terms of the GNU General Public License (GPL) as is so much other software that we use on a GNU/Linux system. The GPL requires software distributors to provide access to source of any Free Software that they may be distributing. Even if they have not made any changes to the software.
The GPL says that whenever Free Software is distributed, each subsequent user has a right to access its source code. Either the source code should be given along with the device or media that the software ships, or the distributor is required to give users a written committment (valid for at least three years) that they will provide source code "on-demand" for a charge not more than the cost of copying the source code and the media it is shipped on.
If your device manufacturer does not do any of the above, they are definitely violating the GPL and their right to use and distribute the software automatically terminates because of this license violation.