Friday, November 21, 2008

Its not IT ... but we owe it to Berners Lee

CERN inaugurates the LHC

Geneva, 21 October 2008. Swiss President Pascal Couchepin and French Prime Minister François Fillon were joined at CERN1 today by science ministers from CERN’s Member States and around the world to inaugurate the Large Hadron Collider, the world’s largest and most complex scientific instrument.

“Today is a day for CERN to thank its Member States for their continued support for basic science, and for providing the stable framework that makes science of this kind possible,” said CERN Director General Robert Aymar. It is also a day for CERN and the global particle physics community to take a sense of pride in the achievement of bringing this unique facility from dream to reality, a process that has taken over two decades of careful planning, prototyping and construction, culminating with the successful circulation of the machine’s first protons in front of a global audience on 10 September this year.

The inauguration ceremony consisted of speeches, exhibitions and a new audiovisual concert, “ORIGINS”, an adaptation of “LIFE: A Journey Through Time”, featuring the imagery of National Geographic photographer Frans Lanting and the music of Philip Glass, performed by the Orchestre de la Suisse Romande conducted by Carolyn Kuan.

“The younger generations target their ambitions on what they experience while growing up,” said President of CERN Council, Torsten Åkesson. “Science and technology need flagships that stand out and catch the eye, excite fantasy and fuel curiosity. The LHC is one such flagship.”

The ceremony was followed by a buffet of molecular gastronomy presented by Chef Ettore Bocchia, and was made possible thanks to the generous support of a range of sponsoring companies and organizations2, most of which have contributed to the construction of the LHC.

“The LHC is the largest and most sophisticated scientific instrument ever built. There have been many challenges along the way, which have all been overcome one after the other,” said LHC Project Leader Lyndon Evans. “We are now looking forward to the start of the experimental programme. The adventure of building the LHC will end and a new adventure of discovery will begin.”

What is the GNU GPL? Shiv answers....

The Foundations of the GPL

Nobody should be restricted by the software they use. There are four freedoms that every user should have:

  • the freedom to use the software for any purpose,
  • the freedom to change the software to suit your needs,
  • the freedom to share the software with your friends and neighbors, and
  • the freedom to share the changes you make.

When a program offers users all of these freedoms, we call it free software.

Developers who write software can release it under the terms of the GNU GPL. When they do, it will be free software and stay free software, no matter who changes or distributes the program. We call this copyleft: the software is copyrighted, but instead of using those rights to restrict users like proprietary software does, we use them to ensure that every user has freedom.

We update the GPL to protect its copyleft from being undermined by legal or technological developments. The most recent version protects users from three recent threats:

  • Tivoization: Some companies have created various different kinds of devices that run GPLed software, and then rigged the hardware so that they can change the software that's running, but you cannot. If a device can run arbitrary software, it's a general-purpose computer, and its owner should control what it does. When a device thwarts you from doing that, we call that tivoization.
  • Laws prohibiting free software: Legislation like the Digital Millennium Copyright Act and the European Union Copyright Directive make it a crime to write or share software that can break DRM (Digital Restrictions Mismanagement; see below). These laws should not interfere with the rights the GPL grants you.
  • Discriminatory patent deals: Microsoft has recently started telling people that they will not sue free software users for patent infringement—as long as you get the software from a vendor that's paying Microsoft for the privilege. Ultimately, Microsoft is trying to collect royalties for the use of free software, which interferes with users' freedom. No company should be able to do this.

Version 3 also has a number of improvements to make the license easier for everyone to use and understand. But even with all these changes, GPLv3 isn't a radical new license; instead it's an evolution of the previous version. Though a lot of text has changed, much of it simply clarifies what GPLv2 said. With that in mind, let's review the major changes in GPLv3, and talk about how they improve the license for users and developers.

Neutralizing Laws That Prohibit Free Software — But Not Forbidding DRM

You're probably familiar with the Digital Restrictions Mismanagement (DRM) on DVDs and other media. You're probably also familiar with the laws that make it illegal to write your own tools to bypass those restrictions, like the Digital Millennium Copyright Act and the European Union Copyright Directive. Nobody should be able to stop you from writing any code that you want, and GPLv3 protects this right for you.

It's always possible to use GPLed code to write software that implements DRM. However, if someone does that with code protected by GPLv3, section 3 says that the system will not count as an effective technological "protection" measure. This means that if you break the DRM, you'll be free to distribute your own software that does that, and you won't be threatened by the DMCA or similar laws.

As usual, the GNU GPL does not restrict what people do in software; it just stops them from restricting others.

Protecting Your Right to Tinker

Tivoization is a dangerous attempt to curtail users' freedom: the right to modify your software will become meaningless if none of your computers let you do it. GPLv3 stops tivoization by requiring the distributor to provide you with whatever information or data is necessary to install modified software on the device. This may be as simple as a set of instructions, or it may include special data such as cryptographic keys or information about how to bypass an integrity check in the hardware. It will depend on how the hardware was designed—but no matter what information you need, you must be able to get it.

This requirement is limited in scope. Distributors are still allowed to use cryptographic keys for any purpose, and they'll only be required to disclose a key if you need it to modify GPLed software on the device they gave you. The GNU Project itself uses GnuPG to prove the integrity of all the software on its FTP site, and measures like that are beneficial to users. GPLv3 does not stop people from using cryptography; we wouldn't want it to. It only stops people from taking away the rights that the license provides you—whether through patent law, technology, or any other means.

Stronger Protection Against Patent Threats

In the 17 years since GPLv2 was published, the software patent landscape has changed considerably, and free software licenses have developed new strategies to address them. GPLv3 reflects these changes too. Whenever someone conveys software covered by GPLv3 that they've written or modified, they must provide every recipient with any patent licenses necessary to exercise the rights that the GPL gives them. In addition to that, if any licensee tries to use a patent suit to stop another user from exercising those rights, their license will be terminated.

What this means for users and developers is that they'll be able to work with GPLv3-covered software without worrying that a desperate contributor will try to sue them for patent infringement later. With these changes, GPLv3 affords its users more defenses against patent aggression than any other free software license.

Clarifying License Compatibility

If you found some code and wanted to incorporate it into a GPLed project, GPLv2 said that the license on the other code was not allowed to have any restrictions that were not already in GPLv2. As long as that was the case, we said the license was GPL-compatible.

However, some licenses had requirements that weren't really restrictive, because they were so easy to comply with. For example, some licenses say that they don't give you permission to use certain trademarks. That's not really an additional restriction: if that clause wasn't there, you still wouldn't have permission to use the trademark. We always said those licenses were compatible with GPLv2, too.

Now, GPLv3 explicitly gives everyone permission to use code that has requirements like this. These new terms should help clear up misunderstandings about which licenses are GPL-compatible, why that is, and what you can do with GPL-compatible code.

New Compatible Licenses

In addition to clarifying the rules about licenses that are already GPL-compatible, GPLv3 is also newly compatible with a few other licenses. The Apache License 2.0 is a prime example. Lots of great free software is available under this license, with strong communities surrounding it. We hope that this change in GPLv3 will foster more cooperation and sharing within the free software community.

More Ways for Developers to Provide Source

One of the fundamental requirements of the GPL is that when you distribute object code to users, you must also provide them with a way to get the source. GPLv2 gave you a few ways to do this, and GPLv3 keeps those intact with some clarification. It also offers you new ways to provide source when you convey object code over a network. For instance, when you host object code on a web or FTP server, you can simply provide instructions that tell visitors how to get the source from a third-party server. Thanks to this new option, fulfilling this requirement should be easier for many small distributors who only make a few changes to large bodies of source.

The new license also makes it much easier to convey object code via BitTorrent. First, people who are merely downloading or seeding the torrent are exempt from the license's requirements for conveying the software. Then, whoever starts the torrent can provide source by simply telling other torrent users where it is available on a public network server.

These new options help keep the GPL in line with community standards for offering source, without making it harder for users to get.

Less Source to Distribute: New System Libraries Exception

Both versions of the GPL require you to provide all the source necessary to build the software, including supporting libraries, compilation scripts, and so on. They also draw the line at System Libraries: you're not required to provide the source for certain core components of the operating system, such as the C library.

GPLv3 has adjusted the definition of System Library to include software that may not come directly with the operating system, but that all users of the software can reasonably be expected to have. For example, it now also includes the standard libraries of common programming languages such as Python and Ruby.

The new definition also makes it clear that you can combine GPLed software with GPL-incompatible System Libraries, such as OpenSolaris' C library, and distribute them both together. These changes will make life easier for free software distributors who want to provide these combinations to their users.

A Global License

GPLv2 talks about "distribution" a lot—when you share the program with someone else, you're distributing it. The license never says what distribution is, because the term was borrowed from United States copyright law. We expected that judges would look there for the definition. However, we later found out that copyright laws in other countries use the same word, but give it different meanings. Because of this, a judge in such a country might analyze GPLv2 differently than a judge in the United States.

GPLv3 uses a new term, "convey," and provides a definition for that term. "Convey" has the same meaning we intended for "distribute," but now that this is explained directly in the license, it should be easy for people everywhere to understand what we meant. There are other minor changes throughout the license that will also help ensure it is applied consistently worldwide.

When the Rules Are Broken: A Smooth Path to Compliance

Under GPLv2, if you violated the license in any way, your rights were automatically and permanently lost. The only way to get them back was to petition the copyright holder. While a strong defense against violations is valuable, this policy could cause a lot of headache when someone accidentally ran afoul of the rules. Asking all the copyright holders for a formal restoration of the license could be burdensome and costly: a typical GNU/Linux distribution draws upon the work of thousands.

GPLv3 offers a reprieve for good behavior: if you violate the license, you'll get your rights back once you stop the violation, unless a copyright holder contacts you within 60 days. After you receive such a notice, you can have your rights fully restored if you're a first-time violator and correct the violation within 30 days. Otherwise, you can work out the issue on a case-by-case basis with the copyright holders who contacted you, and your rights will be restored afterward.

Compliance with the GPL has always been the top priority of the FSF Compliance Lab and other groups enforcing the license worldwide. These changes ensure that compliance remains the top priority for enforcers, and gives violators incentive to comply.

The Latest and Greatest

Some of these changes probably seem less important to you than others. That's okay. Every project is different, and needs different things from its license. But odds are that a number of these improvements will help you and your work.

And taken as a whole, all these upgrades represent something more: we made a better copyleft. It does more to protect users' freedom, but it also enables more cooperation in the free software community. But updating the license is only part of the job: in order for people to get the benefits it offers, developers need to use GPLv3 for their projects, too. By releasing your own software under the new license, everyone who deals with it—users, other developers, distributors, even lawyers—will benefit. We hope you'll use GPLv3 for your next release.

If you'd like to learn more about upgrading your project to GPLv3, the FSF Compliance Lab would be happy to assist you. On our web site, you can find basic instructions for using the license, and an FAQ addressing common concerns that people have about it. If your situation is more complicated than that, please contact us and we'll do what we can to help you with your transition. Together, we can help protect freedom for all users.

Wednesday, November 19, 2008

Why a new OS doesnt stand a chance!!

There are many 'really alternative' operating systems currently in existence. Most of them are purely for research, personal enjoyment or as a coding sandbox. Some of them, however, want to achieve wider acceptance. Is that goal obtainable, in the current OS climate?

If you look at the state of the operating system world today, it is fairly easy to name the operating systems that have gained mainstream acceptance (which doesn't mean that it has to have a huge market share). We all know the likes of Windows, OS X, the BSDs and the Linuxes. They all have their dedicated userbase, steady development process, and none of them will go away for a long time to come.

Then there are those who are in a much more difficult position. Names that pop up are BeOS, AmigaOS, and MorphOS, among others. Even though they all have a user/fanbase, the development process can be jerky, and their respective futures are everything but certain.

The third group consists of the ones I named in the first paragraph; the hobby operating systems. I will focus on two of these: Syllable and SkyOS. Both have a very clearly defined goal: getting a hold of your desktop. Will they ever achieve that goal? I highly doubt it.

Getting market acceptance isn't merely a case of offering a better product than your competitors. Many perfectly fine operating systems have in the past failed to gain a serious foothold, like AmigaOS or BeOS. Two good operating systems (with their fair share of weaknesses as well, obviously), yet they never got off of the ground in the way that Linux or Windows has.

SkyOS and Syllable both want to achieve the same goal, however, they are walking different paths. SkyOS is a closed-source, non-free (both as in money as in freedom) operating system, whereas Syllable is open-source (GPL) and free (also as in money) This gives Syllable a head start when you look at two important factors: driver availability, and developer participation.

Syllable can drink from a large pool of drivers: Linux drivers. This is a major advantage, not to be neglected. SkyOS must resort to either BSD drivers, or write their own from scratch. While there's no reason for BSD code to be of any less quality than Linux code, the fact remains that Linux has a larger installed base, larger development community/company backing, and therefor more common knowledge that you can use. In fact, almost every driver for Syllable has been borrowed from Linux, whereas every driver for SkyOS has been coded from scratch.

The second factor has to do with developer participation. Because Syllable is open in every sense of the word, it is easy for developers to join and contribute to the project. They can look at the code before joining, making sure it's their cup of tea. The entry barrier is very low. This means that in theory, when actively promoted, it is far easier for Syllable to get new developers than it is for their closed-source counterpart. A developer interested in SkyOS cannot look at the code, he or she cannot check if SkyOS is their cup of tea. As a consequence, they might look for other projects to contribute to. Why would they pay money to join a project, when there are similar project elsewhere which they can join for free? And, look at the codebase before opening their mouths, so that they don't look like a fool when they do?

However, all is not lost for SkyOS. While the fact that it is closed-source is a disadvantage at one side, it is also an advantage on the other side. Because it is closed-source, they will more easily be able to focus on their goals. When something needs to be done, there won't be endless mailing-list threads and forum discussions before someone actually writes down some code. When the SkyOS team decides that feature X must go in, it goes in. That is a major advantage over open development constructions because it can speed up the development process.

Another advantage that SkyOS has over Syllable is the fact that companies are more willing to work with another company than with 'merely' a group of developers. There is no 'central place' to resort to when for instance hardware companies want to support Syllable; whereas the SkyOS team is trying to set-up a company behind the project. It will give SkyOS more legitimacy. Whether that legitimacy is based on anything is debatable, though.

Syllable being open-source also has a flip side: it puts them in direct competition with something you don't really want to compete with in the current OS climate: Linux. For us geeks it's quite obvious that Syllable is a whole different animal than Linux, even though it shares some of its characteristics. However, for most others that difference is not so obvious. Being open source and free (in both meanings of the word) is for them a trait intertwined with Linux, and so Syllable might not be able to set itself apart.

If you add all that up, then it's quite easy to see why both will have a hard time in gaining serious market acceptance. SkyOS will lack developers, whereas Syllable will have a hard problem retaining focus and development speed, and they have to watch out for not being thrown upon the same pile as the Linux distributions.

Other than that, there are other reasons why it will be hard, if not impossible, for them to gain a foothold. First of all, the western market is saturated. There now are three major contenders fighting for your desktop (Linux, Windows and OS X), and seeing how long it took for Linux to even become a reasonable alternative (and some would argue that it's not reasonable, but that's besides the point), it's going to be double as hard and take double as long for a fourth and maybe even fifth contender to make any serious strides.

Some say that the developing world provides a big opportunity. I highly doubt that. Where are SkyOS and Syllable going to get the financial resources to create distribution networks in those countries? Remember that in those countries, people don't already have access to the internet so that they can learn about SkyOS and Syllable on OSNews. For heavyweights like Microsoft this is much more trivial.

Conclusion

It is going to be hard, if not impossible, for new operating systems to get broader mainstream acceptance. The climate that currently exists in the world of operating systems basically prohibits any newcomer to challenge the establishment.

Personally, I find this a bad thing. I'd much rather see numerous competitors challenging each other, leading to improvements and true innovation, with in the end the user as the winner.