lerrup
December 9th, 2005, 03:02 PM
This is not a very detailed introduction into the question of copyrights and licences. I could go on as licences were the reason I became interested in Linux in the first place. I do not claim to be an expert in this and so clarifications and corrections are welcome.
When you create something it is normal to wish to control your creation in some way. For books, pictures and similar matters the idea of copyright was invented to enable creators a way of controlling their creations. These grew up in various jurisdictions and became an established area of law. When computer programs began to be written there was a perceived need for creators again to be able to control their creations. Written source code was covered by copyright as a literary work and so copyright became that way.
Therefore, if you are the initial developer of a program you will own the copyright in it unless there are other factors that affect the ownership of the work. This may be that you have assigned them or that you created it for an employer and so the rights have been assigned to the employer by law there is an agreement to assign rights or some other analogous position.
As most users will be aware as users you do not, as a rule, have any rights assigned to you apart from those contained in the licence used by the copyright holder and what minimal rights that may be granted by statute. For most proprietary software these are very restricted and amount to installing and running the application; they usually expressly forbid distribution or amending.
The Gnu Public Licence (GPL) is different. It is a licence that grants those rights to users of the application provided that they observe the conditions of the GPL. These are straightforward and in particular apply should the code be redistributed in any form. They include the obligation that the distributor must acknowledge the work of all copyright holders in the work, distribute the source code along with the binaries, the lack of any warranty must be acknowledged and most importantly that the new work shall be covered by the GPL.
These conditions apply whenever GPL covered code is distributed, adapted or used as part of another application or program. This would be considered to be a derivative application; this does not necessarily mean that there is any moral judgement on the status of the application. Rather, it means that it just uses the code of the previous application, it is built on it or the old code is integrated into the new application.
The GPL goes into more detail about this and should be read when there is a question of whether an application is or isn't a derivative work from a GPL covered app.
If you wish to keep control of your work and not have anyone else change it without your express permission you can not do so if it is a derivative of a GPLed application within the terms of the GPL. You need to either negotiate a separate licence to use the code for that application or you need to write an application from scratch. You can, however, use the idea or concept of another application; if you couldn't there wouldn't be more than one word processor in the world. The protection of inventions in this way are covered by patents, which I don't think are a good idea for software and are beyond the scope of this piece.
In relation to the development of free software, the GPL is in my opinion a key paradigm shift that has enabled this to happen. It is the licence that has allowed GNU applications and the Linux kernel to develop to where they are now. Without it, or a similar licence there would be much less reuse of code and work. This work and code would therefore end up in numerous bunkers with thousands of hours of duplicate work and no Linux.
Therefore to sum up the licence position of a piece of code that you might write:
1 If it is a derivative work, check the licence that the original was based on and ensure you meet its conditions.
2 It is a new work then you should ensure you distribute under a licence that meets your requirements.
If it is a work for Ubuntu I would urge you to consider the GPL as without it you wouldn't have been able to write an app for Ubuntu in the first place. It wouldn't exist.
When you create something it is normal to wish to control your creation in some way. For books, pictures and similar matters the idea of copyright was invented to enable creators a way of controlling their creations. These grew up in various jurisdictions and became an established area of law. When computer programs began to be written there was a perceived need for creators again to be able to control their creations. Written source code was covered by copyright as a literary work and so copyright became that way.
Therefore, if you are the initial developer of a program you will own the copyright in it unless there are other factors that affect the ownership of the work. This may be that you have assigned them or that you created it for an employer and so the rights have been assigned to the employer by law there is an agreement to assign rights or some other analogous position.
As most users will be aware as users you do not, as a rule, have any rights assigned to you apart from those contained in the licence used by the copyright holder and what minimal rights that may be granted by statute. For most proprietary software these are very restricted and amount to installing and running the application; they usually expressly forbid distribution or amending.
The Gnu Public Licence (GPL) is different. It is a licence that grants those rights to users of the application provided that they observe the conditions of the GPL. These are straightforward and in particular apply should the code be redistributed in any form. They include the obligation that the distributor must acknowledge the work of all copyright holders in the work, distribute the source code along with the binaries, the lack of any warranty must be acknowledged and most importantly that the new work shall be covered by the GPL.
These conditions apply whenever GPL covered code is distributed, adapted or used as part of another application or program. This would be considered to be a derivative application; this does not necessarily mean that there is any moral judgement on the status of the application. Rather, it means that it just uses the code of the previous application, it is built on it or the old code is integrated into the new application.
The GPL goes into more detail about this and should be read when there is a question of whether an application is or isn't a derivative work from a GPL covered app.
If you wish to keep control of your work and not have anyone else change it without your express permission you can not do so if it is a derivative of a GPLed application within the terms of the GPL. You need to either negotiate a separate licence to use the code for that application or you need to write an application from scratch. You can, however, use the idea or concept of another application; if you couldn't there wouldn't be more than one word processor in the world. The protection of inventions in this way are covered by patents, which I don't think are a good idea for software and are beyond the scope of this piece.
In relation to the development of free software, the GPL is in my opinion a key paradigm shift that has enabled this to happen. It is the licence that has allowed GNU applications and the Linux kernel to develop to where they are now. Without it, or a similar licence there would be much less reuse of code and work. This work and code would therefore end up in numerous bunkers with thousands of hours of duplicate work and no Linux.
Therefore to sum up the licence position of a piece of code that you might write:
1 If it is a derivative work, check the licence that the original was based on and ensure you meet its conditions.
2 It is a new work then you should ensure you distribute under a licence that meets your requirements.
If it is a work for Ubuntu I would urge you to consider the GPL as without it you wouldn't have been able to write an app for Ubuntu in the first place. It wouldn't exist.