Sustainable Open Source – midPoint – Evolveum Confluence

https://wiki.evolveum.com/display/midPoint/Sustainable+Open+Source

Free and Open source software (FOSS) is a great approach to software development. Open source has proven itself many time over the years. There is currently almost no comprehensive mainstream software system that does not contain at least one open source component. Many software systems are built entirely from open source components. And there are areas where open source software is used almost exclusively. Governments and the entire public sector is looking to open source software with great hope. Open source is a huge success. And no wonder. The freedom that open source brings is a game changer. Developers can freely cooperate on the software and many parties can contribute. It is not uncommon for companies that compete on the market to cooperate on the open source components that they use in their products. Open source has significantly changed the way how the software is created.

However, open source is no walk in the rose garden. There is one huge issue: funding. Yes, the money are always the problem. Many open source project are critically underfunded. Almost all open source project struggle with project finances in one way or another. This may be partially caused by the ambiguity of the English word "free". Most open source developers understand that as libre ("free as in speech") – fundamental characteristic that gives us software freedom. But most open source users and businesspersons tend to understand that as gratis ("free as in beer"). Users and especially businesses are reluctant to pay for open source software. They think that the software is here and that it is already developed. The license allows free use, so let's just use it. No need to pay for it. Which is technically correct. But there is a fundamental problem in that kind of thinking. The consumers of open source software do not understand that someone had to pay for the development cost. Someone had to invest his own time and money. And it is likely that those investments will never be repaid. But what is even more important is a fact that software development is never done. It is never finished. Software that stops evolving is essentially dead. It becomes a zombie – obsolete, slow and dangerous. Therefore every software that is still alive needs software development effort to survive – even if no new features are developed. The world is changing all the time. There new versions of operating systems, new security vulnerabilities, new and updated protocols and so on. This has to be taken into account in any decent software project. It indeed takes all the running you can do, to keep in the same place. Every project needs basic software maintenance, adapting to changing environment, security fixes and so on. And this takes time – and money. As the projects mature they grow bigger and the expectations of stability, reliability and security grow. Therefore also the cost of project maintenance grows. The maintenance of mature projects usually requires professional developers completely dedicated to the projects. And here is the problem: how are those people supposed to make their living? The project needs money. But how to get them? After all, open source is "free", isn't it?

Funding of open source projects is a major problem. Different approaches were tried with varied success. However, some of the methods rely on closing up part of the project (e.g. open core methods), not releasing the complete project source code or in some other way significantly compromise software freedom. Such projects are no longer libre. We believe that software freedom is a critical characteristic and it cannot be compromised. If it gets compromised then most of the long-term benefits of open source will simply vanish. Therefore a different method is needed to secure funding for open source software. And this is our proposal.