Licences - more background and detail
What sorts of licence are there?
There are two; GNU General Public Licence version 2, and Paid licences.
Anyone can take our Yaffs file system from http://www.yaffs.net free of charge; you can work and play with and test the code as much as you like, and make sure it suits your purposes. You will be doing so under the well known GNU GPL, described in detail at http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
That sounds great! Why should I want a paid licence?
The GPL obliges you to release all associated code of your own that you use with any GPL software to anyone who asks for it. If you do not wish to release your own code, then you can buy a Licence from Aleph One Ltd which does not have that obligation.
What sorts of systems use Yaffs?
There is a wide range including GPS equipment for surveyors, sewing machines, traffic control equipment, Point-of-Sale tills, Set-Top-Boxes, DVD writers, high-end video-filming equipment and so on and on - including Android telephones! These have provided a very large test-bed for Yaffs, and of course they use it under GPL since Android is an Open Source project.
Who uses Yaffs now?
The Yaffs.net Home page shows (at its foot) the logos of some of the users, but the range is much wider than those displayed there. They tend to have in common a need for great confidence in the robustness of the FS in demanding circumstances like heavy work, accumulated cell-failures, and random power failures. A number of them have bought more than one Licence at different times because they know it works!
What are the terms of the paid licences like?
All Yaffs licences from Aleph One are non-exclusive, worldwide, perpetual, irrevocable and free of any royalty; they are paid for once when an agreement is signed, and they apply only to the one or more products specified at the time of the agreement.
What do we do next?
Tell us some more about the product you will use Yaffs in. We like the Agreement to contain a brief description of the hardware involved and the part number or product name and any internal code name. If you want us to sign a Non-Disclosure Agreement before you give us these details, send it to us; we are used to signing them. We can send you a standard form if you do not have one.
Then we will send a draft Agreement and price to you, and negotiate until we are both satisfied. Next we each sign and exchange copies of the Agreement and you pay us.
How does that help us?
After you pay for a Licence you get a tarball of files to put in your product which make clear in the file headers that you are using Yaffs under a licence from Aleph One Ltd. That makes a paid licence different from a GNU General Public Licence. We can do that because Aleph One Ltd owns Yaffs completely.
Its other virtues are that it handles different page sizes and large numbers of files, and it is economical on other resources such as RAM. Like everyone else, Licence Holders have access to the continuing improvements which are being made in Yaffs.
What about the OS?
Yaffs is agnostic about the OS it is used with. While many users combine it with Linux, it has been used with 32-bit and 64-bit OSs and with no OS at all. Cases such as VxWorks and WinCE are a bit more complex. We have done work on a wrapper to make it easier to use Yaffs with WinCE. We are working on making Yaffs easy to use with VxWorks too; let us know if you are interested in the resuults.
The relationship between the OS and the rest of Yaffs is illustrated in the diagram on the Home Page. At the heart of Yaffs is the Yaffs Direct Interface, which is a well-documented sub-set of Yaffs. Click on it in the diagram for more information.
How does this relate to the GPL?
The point of GNU General Public Licence v2 is to share work to improve Open Source software for the common good. A huge amount of development takes place quietly and out of the public eye, and it is released into the common pool of software so others can both benefit from it and contribute to it.
Open Source software is transparent to all who use it, and its development therefore requires sharing your contributions with anyone else who wants them. The GPL was devised to make this possible. It also makes perfectly clear that the open source code is supplied AS IS and without any warranty. This shields developers and contributors from litigators who want to blame them for a fault.
One user of Yaffs makes seismic monitoring equipment capable of detecting underground nuclear explosions; they require Open Source software.
How does the LGPL bear on all of this?
Because Bootloaders are often proprietary we provide with Yaffs a few kBytes of bootloader code which is licensed under LGPL, the GNU Lesser Public Licence, rather than under GPL. This avoids the risk of what proprietary code owners often describe as contamination of their code by code useful to Yaffs.
The LGPL is shown at http://www.gnu.org/licenses/lgpl.html The tarball with modified headers you get from us will have your name only in the Yaffs file headers and not in the headers of tools such as the bootloader. This practice is common in the Open Source world.
How much does a licence from Aleph One cost?
The price depends a bit on the sort of market you are working in; a firm making industrial control equipment or office copiers pays a base price, but a mobile phone maker pays more. The base price is GBP10k. Note that is not US$ but GB Pounds Sterling.