A topic that we discuss with potential clients regularly is licencing of software for (usually web based) startups. This is an important question, as a startup would like to ascertain at at early point what will happen when they want to sell their company on in the future. Another concern is also the software company competing or helping someone compete with the startup by "re-using" the software.
Some assumptions
For the discussion here I'm assuming that:
- the startup is Venture Capital or self funded, essentially paying a software company to develop software - software is not provided as "sweat equity"
- the software system required is a custom development, ie it is reasonably complex
How open source licencing works
Open source licencing of custom written software works through the following steps:
1) The developer is accustomed to using or sources a set of existing software code, which is in turn licensed under open source licences. Such software usually has been produced by dozens to thousands of people.
While it is not necessary for the developer to re-use software this is accepted as best practice, because:
- such software is typically security-audited by thousands of users
- allows for re-use of typically used program code and programming patterns
- exposes the developer to other people's programming techniques
2) The developer issues the same licence to the client and "distributes" the software including source code.
The client now has a licence to use the software as they see fit. Specifically in comparison to common proprietary software (say MS Word), the client can:
- make copies of the software as necessary
- has no time limit or geographical limit to use the software
- can engage another developer or in-house staff to modify the software.
3) The client does .... nothing
There is no further step, however we often receive an objection at this point in that many people assume their software is now "out there", free to be downloaded and used in competition to them.
Of course it is not.
While developers of mass-used open source software would of course want their software to be available to anyone to achieve market penetration, a purchaser of custom written software wants exactly the opposite - they want the software to go absolutely nowhere else.
In summary, there is no "forced publishing" of open source software and licences take place when software is distributed.
A side effect of this is that you possibly don't have a licence to the software, because it hasn't been distributed to you. So, go, get a backup of the software.
4) At time of sale of the business...
.. the new owner acquires the licence. Simple as that.
To explain why open source licencing is good for the startup, lets look at their options to source their software system.
Employee
Of course you could hire an employee to have the software system produced. However pitfalls are:
- Many startups in New Zealand don't have the cash to hire an employee for long enough and after development don't have the scale to hold on to that employee
- Startups are not experienced in hiring a software developer and cannot provide an interesting environment for such a person
- For the employee this is a higher risk situation - an unknown employer, possibly lower pay than in other positions. Therefore it is likely that only low to medium skilled employees are attracted to such positions
"Sweat equity"
This can be seen as an extreme case of an employee. While of course sweat equity is typically cheaper in the short run, it is likely either going to attract
- unexperienced employees (technically or professionally) who accept a very small equity stake (ie no control whatsoever) or
- very experiences employees, who will however want to have a significant stake in the business
Closed source or proprietary licence vendor
A closed source/proprietary licence vendor alleviates the issues with employees, however with it comes the risks of having serious licence restrictions that may limit the ability of the startup to scale or operate. Issues include:
- licence costs that grow with amount of use of the software (per seat, per site, per processor)
- vendor controls technology platform, effectively this may cause a "rewrite" every 3-5 years because of the vendors vendor doing the same
- licence can be revoked at any time or is otherwise time limited and needs renewal
Open source vendor
Buying your startup software open source has all of the above benefits: full control (in time, code and supplier dimensions), while using best practice software development.
A further point is that open source software is currently in fashion. This may seem an irrational point, however think about how things in fashion attract the best employees and lead therefore to better software for the customer
Common objections
Ownership
Clients of ask us if they "own" the software. Owning software is a legal term and we have to say no to this. If someone else owned software that we have produced it would mean that they can stop us from using it ourselves. The only way to achieve software ownership would be to hire an employee or acquire the development company.
Of course from a legal perspective "ownership" is the most desirable option, which is why you would receive advice from most lawyers to "own" your custom developed software. However the reality is that no vendor could give you ownership of the software. They would either have to erase their mind and do it all again from scratch for the next client (and produce sub standard quality software each time) or get themselves into a legal quagmire.
Warranty
Many open source licences have "No Warranty" clauses that are printed in all caps and stand out. These are put in there, so that free of charge downloaders do not claim warranty from the supplier of the software.
Of course in the case of a custom development you would get a software development agreement in place to cover warranty, confidentiality and many other questions.
From a developers perspective, "warranty" can be quite a topic to laugh about. None of the well known proprietary software vendors gives any warranty to speak of - what you get is evasive support that tries to suggest alternatives, workaround or defers you to a "possible solution" in the next software version. in comparison, most larger open source development communities (mailing lists, online forums and social media) will answer the developers technical questions usually within minutes - free of charge.
Competition
Can the software vendor simply go out and sell it to another party.
From a licencing perspective, yes they can. However (non-) competition is a really a different issue that can be contractually arranged between the client and vendor. It is simply a commercial issue around: which markets does the client need to be protected in against what competition? Which markets is the vendor really going to sell this software system to?
Another perspective on this comes from when you consider what "custom development" means. Is there really going to be another client with exactly the same business model that wants to buy this (needing to know all other business secrets from the first client!), so the software can be used as-is? It is much more likely that the 2nd business needs some quite different software.
The issue is rather more about confidentiality and what information a vendor may inadvertently disclose about the competitor.
"Open source infects proprietary software we or our future buyer use"
This is a valid concern, if the software is licensed under GPL licence. The GPL licence is probably also the most widely known open source licence. However a review of common open source frameworks on
Wikipedia shows that an overwhelming majority of such frameworks are licenced under
MIT,
BSD or
Apache licence, none of which are "copyleft" licences. This means that they can be mixed with proprietary software code without affecting licencing of the resulting combination.
It is highly likely that a software developer is going to use such a framework - rather you should not engage with one that doesn't, as you won't get all the benefits of using open source software.
Summary
Purchasing custom developed software with open source licencing is a very good solution that eliminates common issues of contention between the purchaser and the vendor.
As a final though, the developer "giving away" most control over the software shows a deeper reality about modern custom software development:
The value of the software is not really in the software code. Most functions required, for example a user login have accepted best practice solutions. There is no value in owning another copy written from scratch, every developer knows how to do this correctly. The real value is actually in the delivery of software that is flexible, future-proof and where changes can be managed over time.
Jochen Daum
Chief Automation Officer
Automatem Ltd