Samsung’s exFAT Linux driver now GPL compliant
Samsung is releasing the code for it’s exFAT filesystem driver for Linux under the terms of the GPL. This is an important breakthrough because of the participation of both Samsung and the GPL Compliance Project for Linux Developers
Software Freedom Conservancy has reached an amicable agreement with Samsung to release the code for Samsung’s exFAT filesystem driver for Linux under the terms of the GPL. The exFAT driver code came to light through its inadvertent release via GitHub, and the use of a binary version in a Samsung Linux-based tablet.
Software Freedom Conservancy, led by Bradley Kuhn, works with developers and manufacturers to ensure compliance with the GPL. The greater part of the job is to point out the legal obligation to manufacturers and to help them achieve compliance, and most will happily comply.
As we all know, the GPL makes a simple pact between the coder and the user. Anyone can take, modify, copy, share and redistribute the software and the code, but must pass on the same rights to subsequent users of the software, including any modifications to the code.
The coder, who is usually, but not always, the copyright holder, gains because enhancements to the code are fed back through the development process. The manufacturer gains because third-party developers become involved who may bring new dimensions to the code. The user gains because the code remains free and the obligation is mutual, meaning that every other user has the same obligation to feed their changes back.
The only requirement of the GPL is that the source code be made accessible to end users, but this requirement is often ignored, especially when the code is re-used in firmware and embedded devices. GPL code is used in thousands of devices, but many don’t comply with the terms of the licence.
The role of Software Freedom Conservancy is to alert manufacturers to failures in compliance and to help them to reach an amicable resolution. Most violations are resolved without court proceedings. In very rare cases this may involve litigation but as Jeremy Allison, a board member of Conservancy, observes: “The point is not to punish people for making mistakes, but to bring them into compliance. When people get into trouble it’s usually down to laziness and inconvenience. It’s usually a case of ‘I can’t be arsed, and it’s too much effort to do it right, so I’ll just use it’.”
The great majority of infringements are not deliberate, and can be attributed to misunderstandings and lack of attention to detail. Manufacturers of mobile devices operate in a rapidly changing environment with short product cycles and shorter time-to-market. The market for firmware and mobile devices is highly competitive, and every new product comes to market with a new range of features. Failure to comply with the GPL is usually inadvertent, but releasing the source code is a small price to pay when set aside the considerable advantages of cost effectiveness, speed to market, and the accessability of pre-written and tested code that free software offers, especially when it is remembered that it is only the GPL’d code that has to be made available to others.
Sharing the code is useful to everyone, but the terms of the GPL haven’t always been enforced because the coders have other things to do, or the copyright has been assigned to corporate entities who don’t care about the licence beyond their immediate needs.
For this reason it is an important development that significant contributors to the Linux kernel, in the shape of Conservancy’s GPL Compliance Project for Linux Developers, have become involved in helping to ensure compliance with the terms of the licence, and that Samsung, a major manufacturer, was not only a willing and amicable partner in releasing the code, but was happy ‘to talk publicly about the matter’, which may make it easier to achieve compliance from other manufacturers in the future.
The drawback, in this instance, is that exFAT is owned by Microsoft, is a proprietary fileformat, and has patent issues. The exFAT driver code can only be deployed by manufacturers or distributions that have obtained a licence from Microsoft.