Copyright is the most usual method of protection for software
products. In fact, open source licences are enforceable because they
use, in one form or another, copyright law. The rationale for this use
is simple: copyright law, by default, do not allow for
redistribution (nor even use) of software. The only way that
redistribution can be done is by granting specific permission in a
licence. And that licence can force the redistributor to fulfill
certain conditions. This is how open source licences work. However, as
was discussed in section 3.2, they
use this mechanism to enforce different conditions, ranging from
attribution of authorship (as BSD licence does), to obligation of
redistribution of any derived work under the same terms of the
original licence (as GPL does).
Most open source licences were designed according to the United States law. Just recently some research has been done about the applicability of some of them in particular countries. These studies are essential for the open source movement, since all the open source models depend, in a large proportion, on the validity of open source licenses, in case they are at some point challenged in courts. For instance, preliminary results seem to conclude that GPL (and many similar licences) are enforceable in at least some European countries, and particularly in France. However, much more work is needed in this direction, to provide open source models with a strong legal basis, especially in countries other than the United States, where most open source licences have been written and studied.
There is also an interesting issue in connection with the copyright of
interface specifications, which affects the interoperability of
open source programs with proprietary ones.
In some cases, several companies have been forced to give
access to in-depth information on the workings of a program or
operating system,
to allow developers to extend and integrate the software component in
their systems or programs. This kind of information was usually
copyrighted and sold only to registered developers, maintaining a strict
control on who and where the information was leaked to the
outside. However, this situation collides with several court decisions,
which have made the information presented in header files (those
containing only the names and calling information of the various
routines that compose a software system, that is, the interface of the
system) not completely copyrightable.
That means that it is legal to rewrite a copyrighted
header file, part of an interface, to create a compatible
version. The rationale is that
the header contains only information about the access points to the
routines, and provides no information on the inner workings of the
software. This allows open source developers to recreate a
compatible
version of any library or component for which a header file is available.