*Note: This article somewhat outdated. The core of ToaruOS no longer includes any third-party components, so considerations for other licenses are only necessary if you pull in or produce your own packages.* While, in most cases, we would prefer that developers interested in modifying ToaruOS do so by contributing to the project directly, we have made our codebase available under a liberal BSD-style license which permits anyone to make modifications as they wish. That said, there are some legal requirements to modifications, as well as some practical advice we wish to dispense to prospective ToaruOS forks. # Legal Requirements ToaruOS itself is released under the NCSA / University of Illinois license, which is a BSD-style three-clause license. While source files in our repository use an abbreviated header that indicates the license and where to find it alongside file-specific copyright ownership, derived projects should include the complete text of the license (only a handful of lines) at the head of all files. The terms of this license are very simple and have no affect on your ability to create derivative works and license them as you see fit: You need only provide the copyright information and original licensing in your documentation and source files. ToaruOS also includes several third-party libraries, both in our codebase and in our binary distributions. If you make binary distributions of code from ToaruOS available, you must include with it licenses for these third-party projects, which are documented [in our LICENSE](https://github.com/klange/toaruos/blob/strawberry-dev/LICENSE.md) file for sources included in the repository and [on our wiki](https://github.com/klange/toaruos/wiki/Third-Party-Licenses) for external libraries. Most of these libraries are under similar BSD-style licenses that require license terms and copyright information to be included in binary distributions without requiring source code to be made available. However, if you provide a complete distribution of ToaruOS or a derivative thereof, note that these may contain software released under the GPL or similar copy-left licenses that require you to also make source code available. Such software includes GCC and binutils, both of which are provided in complete distribution. The easiest way to be in compliance with all of the licenses of a full ToaruOS distribution is to include all of the aforementioned licenses and copyright headers alongside your binaries and source code. Being compliant with BSD-style licenses in particular is very easy and should not affect the nature of your distribution in any way. Note that misrepresentation of the source of licensed files may not be just a violation of copyright, but also [fraud](https://en.wikipedia.org/wiki/Fraud). We are not required to aggressively protect our copyrights, but will make our best efforts to correct noncompliance as we are made aware of it. If you need help, feel free to ask in our IRC channel - we're not lawyers, but we do know a thing or two about free software licenses. # Practical Considerations ToaruOS is a hobby project managed by only a handful of developers. It is not, by any means, considered "production-ready" and should not be used in any environments exposed to the outside world. If you are using ToaruOS as the base for a product or service, you are probably making a major mistake and should instead look at real operating systems like FreeBSD or Linux. ToaruOS's primary development focus is its GUI. If you are building a derivative project based on our kernel, you may find it very lacking as it is no where close to being POSIX-compliant. While many have used ToaruOS as an educational experience, it should be noted that there may be many mistakes and bugs in ToaruOS. We recommend that beginners in operating system development instead use other projects to learn about kernel design and x86 basics, such as [Pedigree](https://github.com/miselin/pedigree), [Sortix](https://sortix.org/), or a more established project like Linux and the various BSDs.