Home > Articles > Programming

  • Print
  • + Share This
Like this article? We recommend

What’s New?

The first set of changes are clarifications of the definitions. The terms source code and object code are now defined more generally. The new definitions better reflect the intuitive definitions of the terms, rather than their strict technical meanings. The definition of source code now includes everything required to run the software. For example, if you create a hardware device that will run only signed binaries, and you distribute GPL’d code with it, then you need to provide a mechanism by which users can sign their own modified versions of the code.

This restriction is aimed directly at embedded systems developers who release GPL’d code, but don’t allow modified versions to run on their hardware. This behavior is within the letter of the current GPL, but against the spirit. It denies users the freedom to adapt the program to their needs, part of Freedom 1 from the Free Software Definition.

The new GPL includes a clearer definition of which non-Free dependencies are permitted for a GPLv3 program. The software can only depend on libraries that the user may reasonably be expected to have access to, or that use a well-defined API which can be implemented without patent licenses.

On the pragmatic end of the spectrum are a number of revisions to how changes to GPL’d code must be marked. These rules make it easier for code developed by a large number of people to be worked on, without having to worry about the license terms so much.

The new draft broadens the number of compatible licenses. There are now a list of additional restrictions that may be placed on a module, while still allowing the entire product to be distributed under the license. This change makes it easier to create aggregate works that are GPL’d, although a notable exception to the list of clauses is the advertising clause found in the 4-clause BSD license and similar licenses, and used by the OpenSSL project.

As well as the changes noted here, GPLv3 includes a number of minor changes to the exact terminology of the license, intended to make it less ambiguous.

  • + Share This
  • 🔖 Save To Your Account