Open Source Software Technology and Fundamentals

Open source is usually defined as a software that is released with source code. Source code is a particular programming language that allows developers to create and edit computer programs. This source code is available to the general public under a license that permits users to study, modify, improve and distribute it. Read more

Types Of Software Licenses And Their Functionality

A software license is a legal contract, which specifies the terms of use and the redistribution of the software. Apart from the public domain software, all other software is copyright protected. A typical software license defines the rights and imposes restrictions on the end users. These licenses also define different liabilities and responsibilities of the parties entering into the agreement.

Every software is required to be legally licensed, before it is actually installed. There are different types of software licences. The software manufacturers often come up with different terms for their licenses.

Types of Software Licenses

Freeware software is usually available free of cost. Such software is usually created by individual authors and are put into the public domains. Most of them do not have copyrights and can be used for unlimited period of time. Some of these software may have certain restrictions on their functionality; however, the true Freeware software do not have any restrictions, on distributions, modifications or use.

This kind of software is also called demoware or trialware, as it is available for using free of cost on a trial basis. The permissions are clearly stated in the documentations. For example, a software can be availed for free, for a trial period of ten days. The user will be charged for the full license of the program. After paying the charges, he will get the full functionality of the software and will not face any kind of restrictions applied to the free trial. The user will also get all sorts of updates for the software. This kind of software is generally downloaded from websites. The trial versions are often distributed along with magazines and newspapers.

Limited License
This kind of softwares is generally intended for non-commercial use. Only limited number of copies of this software are made available for the users. Limited licences, or LL, are often restricted to the designated number of computers, i.e. only certain number of users can avail it at the same time. This type of software is generally used by educational institutions or research centers. In educational centers these are restricted for using in on-campus computers, so that it can only be used for classroom instructions and research facilities.

Unlimited Site License
These software agreements do not set any limitations on the number of copies that can be distributed. These can be availed by different groups of people at the same time. For example, the government employees and the faculties of a university can use the same software at the same time. The users will not have to bear any extra cost apart from buying a burnable CD or the documentations. You can even check out the trial versions for one or three days or download them through the Internet.

Volume Purchase Agreement
This type of software is purchased in large numbers for reduced prices. These are usually sold to large companies in varying amounts of distribution. They may also be sold to schools or colleges in sets. Volume Purchase Agreements also allow to buy additional copies at reduced prices after the initial copies are distributed.

A Detailed Glimpse of The Legal Aspects of Software Development

As a seasoned or upcoming programmer, it is imperative for you to have a firm grasp of some of the major legal aspects of software development and what they mean to the software industry. When it comes to knowing the extent of your intellectual property rights, ignorance is inexcusable. I have run out of fingers counting the number of software developers who have made the regrettable mistake of not paying close attention their encryption rights, and have ended up paying big time. So, whether you’re a freelance developer or an employee working under a software enterprise, here is what you need to acquaint yourself with;

Issues surrounding software patents

A patent is simply a legal jurisdiction barring other people from making, selling or using your creation for a specified amount of time. As a software developer, it’s possible for you to patent your work the same way engineers do to protect the design specifications of new inventions. Nonetheless, to obtain a patent for your creation, the algorithm or software has to be over 95% original and you’re also required by the law to disclose to the public the ‘recipe’ of your project. Nowadays it’s become easier to purchase patents as they are even available online. If you have an upcoming unique and novel project, well, it’s high time you obtained a patent protection if you’re planning on marketing it in the future.

What about copyright protection?

One of the major misconstrued legal aspects of software development revolves around copyright protection and what it entails. For starters, a copyright is basically an exclusive set of rights given to the owner of the creation that allows them to make copies of their work and distribute them. The same right, however, bars other from doing the same. The copyright protection also covers any derivative works that could be based on the program created.

So what’s the difference between a patent and a copyright? While a patent shields you from any outright imitation, the copyright act is only useful in restricting others from copying your software’s exact source code or graphics. That means if there is no evidence of exact duplication, a copyright protection is likely to be ruled out in a court of law.

What about a trade secret?

One of the loopholes of patents and copyright is that they are limited for only a specified period, mostly about 20 years. After that, the owner of such registrations loses the right to their intellectual property, and the public could duplicate and use it as they please.

Take for example if you wrote a program that predicts the forex with almost 100% accuracy. A patent or copyright will only protect your creation for 15-20 years and then competitors would be free to sell, modify and distribute it.

However, if you decided to keep it as a trade secret, you can control who uses your code while limiting others from accessing it. With this kind of plagiarism and privacy protection, it’s possible to remain the exclusive owner of your creation indefinitely.

Nevertheless, to effect a trade secret agreement, it essential that the software developer takes a number of confidentiality measures first. This includes;
a.) Not disclosing the source code to the public, either directly or indirectly.
b.) Limiting access to the executable code.
c,) Protecting the creation with robust password algorithms.

Going by the existing legal aspects of software development, if your work qualifies for a trade secret agreement, then you could restrict others from ever using or trading your code without a written consent.