When you hire a custom software development company, it’s a pretty natural thing that the main object of your interest is the working application. At first sight, such approach looks pretty reasonable. Custom made application should meet your requirements, be convenient for your users, look attractive and, most importantly, do the job without any bugs. There’s no other source of anxiety, right? Well, not exactly.
Besides the mentioned factors, there’s another crucial thing which is not given enough attention since it stays “under the surface.” We’re talking about the source code. The truth is that you do not get the right to own the whole application automatically when you apply for the services of the development company. Pricing policy differs from one company to another. Sometimes, the right to own the source code is included in the overall price. But some development companies require extra payment for providing rights to the source code. Since ownership of the source code guarantees the ability to copy, sell, and modify software, you should not underestimate the licensing issues and be attentive to the details of the agreement between you and developer.
In this article, we’ll give answers to some important questions related to the source code licensing. Remembering the pitfalls to be avoided during the conclusion of the software development agreement, you’ll be able to reach the best possible perspectives.
Who Owns the Software Source Code?
Usually, when someone uses his/her programming skills for developing a website, application, or a module, he owns the copyright to everything that he has created. It depends on the owner’s decision how the created software will be used. He can build a new version of the application on the existing basis or distribute the copies of the app under free or commercial license. Everything looks pretty fair. But is there a mechanism that allows delegating the right of owning the source code from the developer to anyone else? Let’s see.
When a developer works as an employee of the development company and creates the source code in the scope of his employment, the development firm that hired him owns the created software. Usually, such developer can’t dispose of his own developments created during the working hours.
Get insight into the development proccess for your future project. Your Free Project Consultation is here.
As you may remember, the main character of the Silicon Valley TV series faced the copyright issues. The reason was simple. It turned out that his application was partially created during the working hours while he was an employee of the software development corporation. Believe us or not, the described situation is not so far from real life. In most cases, the product created by a hired developer is owned either by the employer or by the client that commissioned it. The details of how the written source code can be used are described in the software development agreement.
Custom Software License Agreement
Before creating the first component of the future application, each vendor should make sure that there are no sources of misunderstandings between him and the client. Participants should clearly understand their expectations which must be formulated and written down in the software development agreement. Among other important aspects, the development agreement between the client and the vendor should define who will own the copyright after the project is finished. The list of specific rights that the respective parties will get according to the agreement may vary significantly. Without delving into the specifics of the copyright law, we can mention two main forms of ownership sharing: license of copyright and assignment of copyright.
The license of copyright provides a client with the opportunity to use the source code without getting the full ownership. It depends on particular terms of the development agreement how exactly the created software can be used. For example, according to the agreement, the client can get the possibility of modifying the application or creating derivative software on its basis. There are two main types of licenses. The exclusive license guarantees that the initial owner of the product won’t grant the same license to another client. Such agreement helps to save the competitive advantage since you can be assured that the unique features of the application won’t be provided to any other company on the market. But getting the agreement that grants such privilege will cost you more than a non-exclusive license which, in its turn, can be granted to the several different clients.
The assignment of copyright is an alternative to the license of the copyright. In this case, according to the agreement, all the rights are granted by the initial owner to the client. So, if the development company will decide to reuse his source code, he’ll have to get the license from the new owner.
Everything seems to look pretty easy. But things can become a little bit more complicated in case we’re talking about the development process in which open-source software is involved. Since it’s gathering more and more popularity lately, it’ll be a good idea to take a look at how the licensing process works in this case.
Who Owns Open-Source Software
Due to the widespread misunderstanding, open-source software and the related term free software are often perceived as a complete opposition to the commercial software which is developed for sale and serves commercial purposes. The fact is that commercial software can be as open-source as proprietary.
It’s important to deal with the aspects of using the open-source product in the process of commercial software development prior to signing the agreement with the developer. Before proceeding let’s deal with the terms. The open-source software is distributed under the license that allows changing and sharing the source code. Such approach allows users and development companies to review and modify the existing components for their own needs. Software which is distributed under one of the open-source licenses is usually free of charge, but there are some restrictions that should be kept in mind before starting the development process.
The list of possible requirements may vary from mentioning the name of the product developer to distributing the developed application under the same license as the used open-source product.
Keep in mind that the agreement between you and developer should describe how the usage of the open-source license will affect the final product. You should remember that an open-source product is not the public domain. It is licensed. Therefore, there are some restrictions. For example, as it has been said, the terms may require that the derivative application should follow the same open-source license. If such state of affairs doesn’t match your intentions, you should not let the development process go by itself. Of course, there’s nothing harmful in using open-source license since it does not limit the ability to profit from the product usage. But in case of proprietary software, you have to be sure that a particular license allows using open-source components as the part of such kind of projects. For example, GPL licensed libraries can be used during the development of the proprietary project, if the license holder grants an explicit exception.
To protect yourself from undesirable consequences, make sure that you clarified the issues of copyright ownership while negotiating the development agreement. You must be absolutely sure that both you and developer understand each other’s expectations. Besides the functionality of the application, the agreement should describe what rights on the source code you’ll get after the job is done.
If you’re concerned about the safety of your ideas that will find their embodiment in the form of the end-product, do not let things go by themselves. Make this demand the part of your negotiations and make sure that all your requirements are written down in the agreement. Remember that a development company usually owns the app and may ask you pay a premium for granting you the ownership. What should also be taken into account is the usage of the open-source components. Be aware that some of the licenses have some specific restrictions on how you can use the application based on the open-source product.
Our company provides the next development services: data visualization apps, fleet management software, enterprise resource planning software, etc. One of our main intentions is creating long-time and efficient relationships with our clients. Therefore, we are responsible for their interests as well as for ours. So, you can be assured that the licensing issues, as well as all the others, will be clarified during the negotiation stage.
Vitaly Hornik, the Chief Operating Officer of Delivery Department of XB Software, has commented:
To speed up the development process, developers usually include different third-party libraries and tools. So, to avoid any unexpected issues you’d better request the list of all stuff used and verify the license terms in advance because removing or replacing them may lead to unplanned expenses.