When we talk about free software, people believe that it is a collaborative development that has no cost and that as such an application or software solution is created with the basic freedoms that every user can enjoy without any kind of monetary investment for it, generating a belief that free software has no cost and is not good.
But the reality is that software is free if it has costs with the concept of programming and implementation of infrastructure development and test, not that a software is free, open-source and free, this won’t have any inherent cost, the reality is that software can be free, but the hours of work of a programmer to generate the source code that comprises the software developed or in development have a value or cost, excluding cost of technology infrastructure to keep available and publish that application.
Free as in freedom, not price
Something very important to understand in this case that the free software will always have costs by programming concept, this work of the programmer and its cost is lower than what we normally would charge in the development of a proprietary application for a company, it is up to the programmer or freelancer who is willing to develop the application and does not charge with this way of collaboration, but only devote their free time and this would cause that application to take much more time to have a testing version and later stable version.
Time for development
Just before developing any application project of free software and open source is determined according to the solution of raising the amount of work hours that will be spent to develop the application, whether to have a first stage completed as a minimum viable or an application with all the functionalities raised according to a collection of requirements and the planning of the work to be performed according to requirements of finite expressed in the form detailed in a document “Breaf”.
Sources of funding
This is very important since it can be a funding by donations from a community of users who agree that the project is developed or have as a need that the same develop by the need to give a software solution for it.
Another case is by direct contracting where all expenses will be covered by a government institution or by a private company where they require a software solution and aim to publish it as free and open source software by their own criteria(something that is not very common but many business models of current companies have changed a lot).
Costs according to the programming language and complexity
Well, and this is the topic that everyone is more interested in knowing which are the costs to develop an application or solution of free software and open source code, this is interesting that this varies according to the programming language you use and which platform or operating system but you can say that costs can be list some of the costs referential below:
- Web application development in PHP (codeigniter framework) 12$/h~16$/h.
- Application development with C++ QT5 or GTK + $25/h ~ $35 / h.
- BASIC PRAWNS application development 20$/h ~ 26$ / h.
- Driver development in C / C++, python 35$/h ~ 40$ / h.
- Development of multiplatform application in java 25$ / h to 30$/h.
- Development of mobile or multiplatform application in Haxe 75$ / h ~ 200$ / h
Some of these prices are calculated under an average range based on several queries made on the internet among some of them we have the following links:
https://colombiagames.com/cuanto-cuesta-desarrollar-una-aplicacion-movil/
https://anincubator.com/cuanto-cuesta-crear-una-aplicacion-movil/
These are some reference prices and they are not crazy an example is the brand new salary that Linus Torvals has Linux Kernel Programmer that is usually associated with GNU project applications and that all these are free and open source software.
But not all free software projects manage to gain funding to maintain their continuous development through the time that remains often abandoned and outdated code repositories publicly on the internet.
But as already mentioned in these projects some programmers are willing to develop free software applications without paying for their fees leaving their work as a contribution to the project in their free moments.
Free and open source application does not mean bad
This is relevant to express it as free software applications are characterized to be even better than the proprietary software in its functionality and making better use of the hardware resources of a computer, many people because of ignorance have to mention that the free software is software that is of bad quality, but the reality is totally different, a free software to have your source code is reviewed by many developers to be paid for them or developers who collaboratively assist in the creation and improvement of a software solution for the communities that have the need for a solution of the free software and open source code.
Morally, is it right to develop free software and charge for it?
The answer is yes….. since programmers by the fact of programming that is considered work, consumption of resources, and a mental effort to create to create a free and open source software application and as we know in this life all work has a cost for its realization which allows programmers or developers to survive thanks to it. If you are a programmer and require you to develop a software application for free and you say that to develop you require a payment for your fees professionals to develop, and you get a response that this is not ethical as they should be to develop completely free, you can answer no for an application in free software and open source code means that the development work is free, and rather it is developing to defend the freedoms that all software must have (and this is considering that proprietary software should not exist).