First software sharing community
When I started working for MIT (MIT) artificial intelligence laboratory in 1971, I became a member of a software shared community that had already existed many years. The software sharing is actually not limited to our specific community; it is the same as the computer, like the sharing of recipes, the same as the same as the cooking. But we do more than most people.
Artificial Intelligence Lab uses a time-free operating system called ITS (inadvertent system), which is a large computer-digital PDP-1 design for the laboratory employee computer, and written in assembly language. of. As a member of the community, an employee computer system of the artificial intelligence laboratory, my job is to improve the system.
We did not say our software is "free software", because this term is still there; but our software is indeed "free software". Whenever, when people from other universities or companies want to transfer or use programs, we are willing to provide. If you see someone is using a program you are not familiar but interesting programs, you can always ask for your source code, so you can read it, modify it, or make it dismantled to make a new program.
(1) Part of the public dissemination media is confused with the word "hacker" to express "safety destroyers". We refuse to recognize this meaning as a hacker, and continue to express "those who love programming and enjoying the programming more than those of the programming."
Community collapse
In the early 1989, this situation, when Digital did no longer change its PDP-10 series, it was completely changed. This series of architecture is elegant and powerful in the sixnaries, but it is unable to expand naturally to a large-order space in the eighth year. This means that almost all procedures constituting ITS have been eliminated.
The artificial intelligent laboratory hacker community has already collapsed. In 1981, SYMBOLICS, which was out of stock, has hired almost all hackers from the artificial intelligence laboratory, and the population of population can no longer maintain its own. (The "hacker" in Steve Levy describes these incidents and gives the meeting in the top time.) When the artificial intelligent laboratory purchases a new PDP-10 in 1982, its management decided Use Digital's non-free time-time system instead of ITS.
VAX or 68020 and other contemporary modern computers, have their own operating system, but they are not free software: even if you just get an executable code copy, you must also sign a confidentiality agreement.
This means that the first step in using the computer is to commit to the neighbors. A mutually helped community is banned. The rules that private software owners have developed are, "If you share with your neighbors, you are a copyright infringement. If you need any changes, please ask us."
It is believed that private software social system - does not allow you to share or change software - is anti-social, is also unmthical, and is a complete mistake, perhaps surprise for some readers. But what can we say for a system based on the public and let the user help? The readers who are surprised by the above ideas may be regarded as a matter of course, or using the provisions of the private software industry hintted to judge it. Software publishers have worked hard for a long time to make people convince, only one way to look at this problem.
When the software publisher talked about "persistence" or "prevented copyright", they actually "said" it is secondary. These statements real information is that they will be considered as a matter of course; the public is considered to accept this without objection. Let's take a closer look at these.
One hypothesis is that software companies have undoubted natural rights to own software and thus have the right to all users. (If this is a natural right, no matter how big it is caused to the public, we can't oppose it.) Interestingly, the US Constitution and legal practice veto this view; copyright is not a natural right, but a person, government Improving the monopoly of natural rights restricted by users.
Another assumption is that the only important thing about the software is that it allows you to do what work - our computer users should not care about which society we are allowed to have. The third assumption is that if we do not provide the right of software companies on users, we will have software (or, will never have a program to do this or that specific job). This assumption that the free software movement proves that we can see if we can make a rich useful software before it is binding.
If we refuse to accept these assumptions and judge these problems based on morality under normal common sense, we have got a very different conclusions when we put users in the first place. Computer users should freely modify programs to accommodate their needs, and freely share software because helping others are the foundation of society.
There is no space behind the conclusions, so readers can refer to the bottom of the web, http://www.gnu.org/philosophy/why-free.html.
A naked moral choice.
As my community is gone, it is impossible to continue as before. Instead, I face a naked moral choice.
Joining a private software world is a more easy choice, sign a confidential agreement and promises to help my hacker partner. It is very likely that I also develop software scattered under the confidentiality agreement, and thus adding pressure to others forced them to betray their partners.
In this way, I may have already earned money and may write code yourself. But I know that in my career end, I will look back in the wall of the wall, I will feel that I have put into my life to make this world a worse place.
When someone refused to give me the control program source code related to our printer related to MIT Artificial Intelligence Lab, I have experienced an acceptable end of the confidentiality protocol. (The lack of certain features of the program makes the printer's use is extremely difficult. So I can't tell my confidentiality agreement is harmless. When he refuses us to share his code, I am very angry; I can't turn it around, and then I do the same thing for everyone.
Another straightforward but unpleasant choice is to leave the computer. In that case, my technology will not be abused, but still wasted. I will not be accused by isolation and restrictions on computer users, even so, this situation will continue to happen.
So I find a programmer to do some good things. I asked me myself, there is no one or some programs I can write, and it is possible to form a community again.
The answer is clear: we first need an operating system. It is a crucial software that starts using a computer. With the operating system, you can do a lot of things; there is no operating system, you can't run your computer at all. With free operating systems, we have a mutual aid hacker community again - and invite anyone to participate. Anyone is able to use a computer without having to deprive him from the schedule or her friends.
As an operating system developer, I have the right skills of this job. So even if I can't put success as an inevitable, I realize that I have been chosen to engage in this work. I chose to make this system compatible with UNIX thus can be transplanted and the UNIX user can easily convert to it. The name of GNU, in accordance with the traditional selection of hackers, as a recursive "GNU's Not Unix" clockwork.
An operating system refers to not just a kernel, just enough to run other programs. In 1970, each system that can be referred to as an operating system includes a command processor, assembler, compiler, interpretation, commissioning defective, text editor, mail program, and many other programs. ITS, Multics, VMS, and UNIX have these. The GNU operating system will also include them.
Later I heard the words of Hiller (1):
Who don't for me? I am only for me? If you are not now? The decision starting the GNU project is based on a similar spirit.
(1) As an atheist, I don't follow any religious leader, but I sometimes find that I admire one of them.
Free self-proclaimed freedom
"Free Software" This term is sometimes mistakenly understood - it is completely independent of the price [in English, free with free hierasis (free), so in the free software movement, generally in the first letters to watch freedom (free) . Free software is about freedom. So this is the definition of free software: for you, a specific user, a program is free software, when:
You have freedom to run the program for any purpose. You have the freedom to modify the program to meet your needs. (To make this freedom can be implemented, you must get the source code, because it is very difficult to make changes to a program in the case of no source code.) No matter the free or charge a certain fee, you have the freedom to replenish the copy. You have the version that spreads the program to modify, so that the society has benefited from your improvement freedom.
Due to freedom, rather than price, selling and free software is not contradictory. In fact, the freedom of selling copies is crucial: the free software collection sold by the disc is important for the community. At the same time, it is an important way to sell them to raise funds for free software. Therefore, there is no free software that is not free to add it to these favorites.
Due to the "freedom" feasibility, people have used it for a long time to find other options, but no one finds a suitable choice. English is more words and subtle differences than other languages, but it lacks a simple, clear words used to express "freedom", just like free, "unfettered", make this word becomes closest to this meaning Words. Other options such as "liberation", "free" and "open", or some other disadvantages or some other shortcomings.
GNU software and GNU system
Developing a complete system is a big project. In order to achieve it, I decided to rewrite and use existing free software as long as it is possible. For example, at first I decided to use TEX as the primary text formatting process; after some years, I decided to write another window system with the X Window system instead of GNU.
Due to this decision, the GNU system is different from the stack of all GNU software. The GNU system includes non-GNU software programs that are developed by other people or engineering for their own purpose. We can use them because they are free software.
Start the project
I quit from me in MIT in January 1984 and started writing GNU software. It is necessary to leave MIT, which makes MIT unable to interfere with the GNU as free software. If I am still in, MIT may have requested that they have these works and may impose their own issuance terms, or turn them into private packages. I didn't intend to do a lot of work and just see it became useless, because the doration of this thing is to create a new shared software community.
Despite this, Professor Winston, the later MIT artificial intelligence laboratory leader, friendly invites me to continue to use the laboratory facilities.
Initial footsteps
Before the GNU project was started, I heard about the Free University compilation toolbox called VUCK. (The Netherlands Word "Free", written as a letter V) This is a design to handle multiple languages, including C and Pascal, and support multiple target machines. I have written to my author asks if the GNU can use it.
He laded and repressed that the university was free and the compiler was not. So I decided that my first program written for GNU project will be a variety of languages, a multi-platform compiler. Because I hope to avoid the need to write the entire compiler, I got the source code of the multi-platform compiler PASCAL developed in the Lawrence Livermore Lab. It supports and is written with a Pascal expansion version designed to be a system programming language. I joined the front end of C and started to transplant it to the Motorola 68000 computer. But when I found that the compiler needs a million-byte stack space, I have to give up. Available 68000 UNIX systems only allow 64k bytes.
I then learned that the PASCAL compiler is running, analyzing the entire input file into a syntax tree, converting the entire syntax into a "instruction" chain, then generates a complete output file, and no storage space. In this point, I summarize I still have to write a new compiler from my head. That new compiler is the GCC known now; there is no content of a PASCAL compiler, but I still try to adapt and use I have written a good C stand. But that's a few years later; first, I developed GNU Emacs.
GNU Emacs
I started to start GNU Emacs in September 1984, which is useful in the beginning of 1985. This makes I can start using UNIX systems; because I am not interested in learning using VI or ED until I am doing my editor on other types of machines.
At this time, people have begun to use GNU Emacs, so how to issue it. Of course, I put it on an anonymous FTP server I used by my MIT. (This computer, prep.ai.mit.edu, therefore becoming the main GNU FTP scattered site; when it retires some years, we turn its name to our new FTP server.) But at that time, some feelings People who are interested are not on the Internet, can't get a copy via FTP. So the problem is, what should I say to them?
I am in order to say, "Find a friend who is online to make a copy to you." Or I am trying to do like I have done for the original PDP-10 Emacs: Tell them, "Mailing me a tape and one postage postage The back envelope, I will put Emacs on the tape. "But I didn't work, I am looking for a way to earn money from free software. So I announced that I will mail a disk with any people you want and collect $ 150. In this way, I started the cause of free software, it is a pioneer of companies that are now issued a company based on Linux-based GNU systems.
Is it a program that is free to any user?
If a program is free software when it leaves his author's hands, it is not necessary to mean it will be free for each person who has a copy of its copies. For example, the public domain software (no copyright protection software) is free software; but anyone can make a private version that it is modified. Similarly, many free programs are protected by copyright but released based on simple licenses, allowing private modifications.
A typical example of this problem is the X WINDOW system. Developed by MIT, and use a license method as a free software, it is quickly used by different computer companies. They add X to their private UNIX system only in the form of binary form and is controlled by the same confidentiality protocol. These X copies are like UNIX, nor free software.
X Window system developers do not think this is a problem - they expect and intend to make it happen. Their goal is not free, but only "success", that is defined as "there are many users". They don't care whether these users have freedom, just want them to have many people. This leads to a contradictory situation, two different freelance calculation methods give different answers "Is this free program?" If you give the freedom for the release terms of the MIT license, you will say that x is free software. But if you measure the freedom of X General users, you have to say that it is private software. Most X users are using a private version coming with UNIX systems instead of a free version.
Copyleft and GNU GPL
The GNU's goal is to give user free, not just popular. So we need to use the issuance terms that can prevent GNU software from being converted into private software. The method we use is called "Copyleft". (1)
CopyleFT uses the copyright law, but it is for us to use the purpose of it: it is a means of maintaining software freedom, rather than a method of privatizing software.
Copyleft's central idea is that we give each person to run the program, copy procedures, modifies, and spread its modified version - but did not increase their own restrictions. Therefore, the critical freedom defining "free software" is to obtain guarantees by everyone who has a copy; these freedoms become the right to deprive.
For a valid Copyleft, the modified version must be free. This ensures that works based on our work, once spread, the community is available. When there is a work, the copy of the GNU software is volunteer, Copyleft prevents their employers from saying, "You cannot share these modifications, because we are preparing to use them to make our private version."
If we want to make sure that the process must be free, modification must be free of this demand. Companies that privatize X WINDOW systems are usually modified to transplant them to their systems and hardware. These changes are smaller than the large scale of X, but they are not slightly. If you modify an excuse to reject user free, it will be very easy to use the excuse.
A related topic involves combining a free program and non-free code. Such a combination will inevitably be non-free; any lack of freedom in non-free part will be the entire lack of freedom. Allow such a combination will open a hole that is large enough to sink a ship. Therefore, a critical demand for Copyleft is to block this hole: any program that is added to or combined with a Copyleft must also make larger combined versions are also free and copyleft.
Our Copyleft used by most GNU software is a GNU a general public license, or referred to as GNU GPL. We have other kinds of Copylefts in a specific occasion. The GNU manual is also Copyleft, but uses a very simplified Copyleft type because the complexity of the GNU GPL is unwanted to its manual.
(1) In 1984 or 1985, Don Hopkins (a very imagined friend) sent me a letter. He wrote some interesting words on the envelope, including this: "Copyright is not: withdraw all rights" (Copyleft: All Rights Reverse). Here, Liu Qiongun is translated as a translation of "The Hacker Ethic, And The Spirit of Information Age", but there is still a copyright word. It is the information provided to the "Copyright: All Rights Reserved) of" Copyright: All Rights Reserved). I used the word "Copyleft" to name I was developing the spread concept. Free Software Foundation
With the growth of EMACS interest, others joined the GNU project, and we decided that this was once again sought funds. In 1985, we founded a Free Software Foundation, an tax-free charitable group for free software. The FSF has also taken over the EMACS tape issuance; later it adds other free software to the tape (both GNUs also have non-GNU), which also expands the service by selling the free manual.
FSF accepts contributions, but most of its income often comes from sales-free software copies, and other related services. Today it sells the source code CD-ROMS, binary code CD-ROMS, fine print manual (all freely distributed and modified freedom), and luxury release (here we make intact software collection for your choice).
The Free Software Fund will have written and maintain a range of GNU software packages. Two worth noting that the C library and housing are. The GNU C library is used by a program running on the GNU / Linux system to communicate with Linux. It is a member of the Free Software Foundation, which is developed by Roland McGraath. The shell used by most GNU / Linux systems is Bash, The Bourne Again Shell (1), which is developed by FSF employee Brian Fox.
We have funded the development of these programs because the GNU project is not just about tools or development environments. Our goal is a full operating system, and these tools are needed for this goal.
(1) "Bourne Again Shell" is a joke with a unix named "Bourne Shell".
Free Software Support
Free software philosophy resists a wide range of business practices, but it is not negative. When business activities respect the freedom of users, we wish them success.
Sales Emacs copies show a free software business. When FSF takes over to work, I need another way to make a living. I found it in the free software related service I developed. It includes teaching, topics such as how to program GNU Emacs, how to customize GCC, and usually transplant GCC to new platform software development.
Today, every free software business is practiced by many companies. Some companies have released the free software collection of CD-ROMs; other trafficking from answering user issues to correction program errors to increased different levels of services such as new features. We even start to see free software companies based on initiating new free software products.
It is worth noting that many companies do their own business based on non-free software cooperation with free software although they have their own contacts with "Open Source". They are private software companies instead of free software companies, and their products are tempting users away from freedom. They call this "value-added", reflecting their values we want to adopt: convenient on the freedom. If we cherish the freedom, we should call them products "subtract free" products. Technical goal
The GNU's primary goal is to serve as a free software. Even if the GNU has a technical advantage than UNIX, it has a social advantage that allows users to cooperate, and an advantage of morality, that is, respect the freedom of users.
However, applying well-known good experience is naturally natural-, for example, dynamically allocate data structures to avoid arbitrary fixed size limits, and processes all possible 8-bit code in any meaningfulness.
In addition, we abandoned the unix design of small memory size, decided not to support 16-bit machines (32-bit machines became the mainstream when the GNU system was completed), and did not do any effort to reduce memory use, unless more than Million bytes. In the program that handles very large but not critical, we encourage programmers to read the entire file into the core, then browse the content without having to worry about the input and output.
These decisions make many GNU programs beyond their comparable procedures on UNIX in terms of reliability and speed.
Donated computer
With the growth of GNU engineering, people began to provide donations to run UNIX to this project. These are very useful because the easiest way to develop GNU components is to do on a UNIX system and one by one, replacing the components of the system. But this method has produced a moral problem: We have UNIX copies fundamentally correct.
UNIX has been private software from previous to now, and the philosophy of GNU project says we should not use private software. However, the application and inference of "violence in self-defense is justified", my conclusion is that the development will be used to help others stop using private software replacement, using private software The package is reasonable.
However, although this is a rational sin, it is still sin. Today we no longer have any UNIX copies, because we have replaced them with a free operating system. If we can't replace a computer's operating system for free operating systems, we replace the computer.
GNU task list
With the progress of the GNU project, and more and more system components are discovered and developed, it will eventually make a meaningful thing to make a list of remaining gaps. We use it to recruit developers to write omissions. This list is a list of well known GNU tasks. In addition to omissions of UNIX components, we list additional all kinds of other useful software and document projects, we believe that these are a true and complete system should have.
Today, there is almost no UNIX part remains in the GNU task list - those work have been completed, except for some irrelevant. But the column is full of projects that can be called "app". Any program that attracts more than one limited subscriber type will be the beneficial thing to add the operating system.
Even if the game is also included on the task list - and it starts from the beginning. Unix includes games, so GNU should also include it. But compatibility is not a problem for the game, so we didn't follow the list of gaming in UNIX. Instead, we list a series of games that may like to like a range of users.
GNU library GPL
The GNU C library uses a special type of Copyleft called a GNU less General License (LGPL), which allows private software to be linked to the library. Why make this an exception?
This is not a principle problem; no principle says that private software products are qualified to include our code. (Why do you want to contribute to an assertion to our work?) Use LGPL to the C library or any library, is a strategy. The C library is native working; each private system or compiler has a C library. Therefore, only our C library is used to bring any benefits to free software - this will only prevent usage of our libraries.
There is an exception to this: in the GNU system (this includes gnu / linux), the GNU C library is the only C library. So the issuance of the GNU C library determines whether it can be used to compile a private program for the GNU system. Allow private applications running without ethics on the GNU system, but from the strategy, do not accept them seem to hinder the use of GNU systems, rather than encourage freedom development.
This is why LGPL is a good policy for the C library. For other libraries, strategic decisions require an individual consideration in one case. When a library does a special job that can help prepare a particular type of program, then use GPL, restricting it can only be used for free software, is a way to help other free software developers. This gives them an advantage in facing the competition of private software.
Consider the library that GNU Readline is developed to provide a command line to Bash. Readline is released with a normal GNU GPL instead of LGPL. This may really reduce the usage of Readline, but this is not lost. Because at this time, at least one useful application software is specifically made to use Readline, which is the true harvest of the community.
Private software developers have the advantages of money supply; free software developers need to achieve advantage. I hope that one day we will have a collection of huge and GPL-protected libraries that do not exist in private software, providing a useful module for new free software architectural blocks, and further strengthening the advantages of will come from software development. .
It's itching?
Eric raymond said that "Every good software work begins with personal itching of a developer." Maybe there will be sometimes happening, but the basic part of many GNU software is developed for a complete free operating system software. They come from a vision and a project, not from impulses.
For example, we have developed a GNU C library because a class UNIX system requires a C library, developed Bourne-Again Shell (Bash) because a class Unix system requires a housing, and has developed a GNU Tar because a UNIX system requires one TAR program. The same is true for my own procedure - GNU C compiler, GNU Emacs, GDB and GNU Make.
Some GNU programs were developed to cope with specific threats to our freedom. Thus, we have developed Gzip to replace the Compress program that caused the community due to LZW patents. We found that people developed Lesstif, and GNOME and HARMONY in the near future to resolve issues caused by some private software libraries (see below). Because users should choose between secrets and freedoms, we are developing GNU Privacy Guard instead of popular non-free encryption software.
Of course, people who write these programs have become interested in this work, and many people have added many functions due to their own needs and interest. But that is not the reason why these programs exist.
Unpredictable development
At the beginning of the GNU engineering, I envishable us will develop the entire GNU system and then spread completely. But that is not how it happens.
Since each component of the GNU system is made in the UNIX system, each component can be run on a UNIX system before a complete GNU system actually exists. These programs have become popular, and users start to expand and transplanted them to many incompatible UNIX versions, sometimes also ported to other systems. This process makes these programs more powerful and attracts funds and contributors of GNU projects. However, this may also be delayed for years to complete a minimum operating system, as GNU developers have been put into maintenance of these components and add functions to existing parts, rather than moving to writing a missing part.
Gnu Hurd
In 1990, the GNU system has almost completed; the only major missing component is its kernel. We have decided to realize the kernel as a set of server processes running on Mach. Mach is a micronucleus developed in Carnegie Melon, after the University of Utah; GNU Hurd is a set of servers on Mach (or "马 兽兽") and is responsible for the various tasks of UNIX kernels. The start of development is delayed as the free software as a free software as it is awaiting Mach.
One reason for choosing this design is to avoid this in this work seems to be the most difficult part: the condition of the removal of the inner nuclear programs are removed without a source hierarchy. In MACH, this part of the work has been completed, so we look forward to using GDB like a user program to debug the unligible Hurd server. But this takes a long time to become possible, and multi-threaded servers who send messages to each other are still difficult to debug the debugging. This makes the process that Hurd can work firmly has been extended for many years.
Alix
The GNU kernel originally does not expect to be called Hurd. Its for its original name is Alix - named the lover at the time. She, a UNIX system administrator, pointed out how her name applies to a unix system version of ordinary naming mode; as a joke, she said to her friends, "Some people should name my name according to my name." I Didn't say anything, but I have decided to use a kernel called Alix to be surprised.
Things did not remain unchanged. Michael Bushnell (now Thomas), the main developer of the kernel, the name of Hurd, and redefine Alix to refer to a particular part in the kernel - this section is capturing the system call and sending a message to the Hurd server to handle them. .
In the end, Alix and I broke up, she changed the name; with this, the Hurd design was changed so that the C library can be sent directly to the server, which causes Alix components to disappear from the design.
But before these things happened, her friend saw the name of Alix in the Hurd source code and mentioned her. So the name has played a role.
Linux and GNU / Linux
GNU Hurd is not ready to be used as a product. Fortunately, the other kernel is already available. In 1991, Linus Torvalds developed a UNIX compatible kernel as Linux. About 1992, Linux combined with a very complete GNU system produced a complete free software operating system. (Of course, combined with them itself is also an important job.) Due to Linux, we can actually run a version of the GNU system today.
We call this version of the system for GNU / Linux to express it is a GNU system and a combination of Linux as a kernel.
Our future challenge
We have proven our ability to develop a wide range of free software. This does not mean that we are invincible and cannot be stopped. Some challenges make the free software in the future of uncertainty; it will need solid efforts and endurance with them, sometimes last for years. This will require that kind of person is determined when they cherish their freedom and do not let anyone will take it away. Four paragraphs are discussed in these challenges.
Secret hardware
Hardware vendors are increasingly confidential for hardware specifications. This makes it difficult to write free drivers that write Linux and XFree86 support new hardware. Now we have completed the free operating system, but if we cannot support the computer tomorrow, we will lose them tomorrow.
There are two ways to cope with this problem. Programmers can use reverse engineering to learn how to support these hardware. Other people can use hardware supported by free software; as our number increases, the standardized confidentiality will become a strategy that is smashed.
The reverse engineering is a big job; we will have a programmer to take enough determination to take this job? Yes - if we have established a strong belief that the free software is a principle issue, the non-free driver is unbearable. Most people in us will spend additional money, or even a little extra time, can I use a free driver? Yes, if there is freedom of determination, it is widely spread.
Non-free library
A non-reserved behavior of a non-reserved library over the free operating system is like a trap for free software developers. The attractive features in the library are bait; if you use the library, you fall into the trap, because your program can't be used as a part of the free operating system. (Strictly speaking, we can contain your program, but there is no way to run.) Worse, if a program using private software library is popular, it can attract other discouraged programmers to fall Enter the trap.
The first example of this problem is the Motif Toolbox in the eight jah. Although there is no free operating system at that time, it is clear that there will be any problem in the free operating system after Motif. The GNU project responded in two ways: By requesting individual free software projects to support Motif while also supports free X toolbox widgets, and request some people to write free software replacing Motif. This work spends many years; Lesstif developed by Hungry programmers, in 1997 to support most MOTIF applications.
In 1996 and 1998, another non-free GUI toolbox is called QT, which is used in the KDE desktop. This contains a large number of free software.
Free GNU / Linux system cannot take advantage of KDE because we cannot use its library. Despite this, some commercial GNU / Linux system issuers that do not strictly insist on free software will join KDE to their system - a system with stronger, but less free. The KDE team actively encourages more programmers to use QT, and millions of new "Linux users" never know the existence of such a problem. The situation is quite bad.
The Free Software Association responds to this issue in two ways: GNOME and HARMONY.
GNOME is a GNU network object model environment (NETWORK Object Model Environment), is a desktop project of GNU. Since 1997, Miguel DE ICAZA is developed under Red Hat Software, GNOME begins to provide similar desktop tools, and only free software is used. It also has a technical advantage, such as supporting multiple languages, not just C . But its main purpose is to free: No need to use any non-free software.
HARMONY is a compatible alternative to design KDE software without QT. In November 1998, the developers of QT announced a change in license. When their implementation, QT should be free software. Although there is no way to be confident, I think this should be partially attributed to the firm response of the association for QT is the problem caused by non-free software. (The new license is neither convenient to be unfair, so it is still worth avoiding qt.)
[Postscript: In September 2000, QT is issued in GNU GPL, so it actually solves this problem]
How will we respond to the next seductive non-reserved library? Does the entire community learn to stay away from traps? Or many people in us will give up freedom for convenience, resulting in a big problem? Our future will depend on our own philosophy.
Software patent
The worst threat we face comes from software patents, which can limit the algorithms and functions of free software for up to 20 years. The LZW compression algorithm patent is applied in 1983, so we still can't spread free programs to generate appropriate compression gifs. In 1998, a free software program used to generate MP3 compression sound is taken from issuance from issuance due to fear of patented legitimate threats.
But there is still a way to cope with patents: We can study finding evidence to prove that a patent is invalid, or you can find other ways to complete the work. But this method only works at some time; when they fail, a patent may force all free software to lack certain users you want. What can we do when this happens?
Those who pay attention to free software in our sake of freedom will be together with free software anyway. We will do our job without patented features. However, those who pay attention to it because they believe that the technology of free software is, it is possible to think that this is the failure of free software when patent inhibiting free software. Thus, although the actual effectiveness of the "Cathedral" model in the discussion software is useful, we must stop there. We must explore freedom and principles.
Free documentation
The biggest shortage of our free operating system is not in software - but lacks we can include a good freedom manual in our system. Documentation is the basic part of any package; when an important free software package does not appear with a good freedom manual, it will be a big defect. Today we have many such defects.
Free documentation, such as free software, is free, is not a price problem. The standard of the free manual is almost identical to free software: it is to give all users to determine the freedom. Reissue (including commercial sales) must be licensed, whether online or written form, and the manual can be accompanied by each copy of each program.
Allow modifications are also critical. As a normal rule, I don't believe that people have a permission to modify all kinds of articles and books. For example, I don't think you or I should be forced to modify the permissions like this article to describe our behavior and our views.
But there is a special reason about why the freedom to modify the free software documentation is critical. When people exercise their right to modify software and increase or change their feature, if they are diligence, they will also modify documentation - so they can provide correct and available documentation with modified programs. A manual that does not allow programmers to dilute and complete this work does not meet the needs of our community.
Some restrictions on how to complete how to complete do not cause problems. For example, it is possible to keep the original author's copyright statement, issuance terms, or the author list requirements. Require modified versions include the declaration of their modified versions is also no problem, even if there is no deletion or modification, as long as these reports are related to non-technical topics. These types of limits are not a problem because they do not prevent the transcript from modifying the manual to adapt to the modified procedure. In exchange, they do not hinder the free software community fully utilize the manual.
Despite this, there must be possible to modify all * technical * content of the manual, and will be issued in all regular media forms in all regular media; otherwise, these constraints hinder the community, the manual is not free, and we need another manual. . Will free software developers have awareness and determination to produce a full range of freedom manuals? Our future will once again depend on philosophy.
We must talk about freedom
It is estimated that tens of millions of users today use a GNU / Linux system such as Debian GNU / Linux and Red Hat Linux. Free software has evolved to such a practical advantage so that users get a purely to the use of practical reasons.
The good results of this phenomenon are obvious: more interest in developing free software, more free software users, and more encourage companies to develop business free software rather than private software products.
However, the growth of software is growing from the philosophical understanding of it, this has brought trouble. We have the ability to face the challenges and threats described above depend on the will of the resolute advocate freedom. In order to determine our association, we need to spread such ideas to their new users to the community.
But we are failed to attract new users to join the community, greatly transcending the efforts of the good citizens of our community. We need to do these two things, and we also need to maintain the balance of these efforts.
"Open Source"
When a part of the 1998 community decided to stop using the term "free software" and changed "Open Source Software", teach new users to become more difficult.
Some people who like this term are intended to avoid confusion of "freedom" and "white delivery" - this is a legitimate goal. However, others will intend to encourage the spirit of the free software movement and the principles of GNU projects, but cater to administrative and business users, and many of these users have a profit on freedom, community and principles. Ideology. Thus, the "Open Source" speech is concentrated on the production of high quality, powerful software, but avoids freedom, community, and principles.
"Linux" magazine is a clear example - they are flooded by private software advertisements running with GNU / Linux. When the next MotiF or QT appears, these magazines will warning the programmers away from it or to pay advertisements for them?
Business support can contribute to the community in many ways; other types of support are also the same, it is beneficial. But in order to win their support, less freedom and principles may have a heavy loss; it makes the imbalance between the aforementioned "transcendence and citizenship education" become increasingly bad.
"Free Software" and "Open Source" are more or less describe the same software category, but they are discussing the software and value of them. The GNU project continues to use the term "free software", and it is not only technically, freedom is also an important idea.
try!
The philosophy of Yoda Master "there is no is no try] sounds elegant, but it doesn't work for me. I am already "worry if I can complete the task, and if I have completed the task, I don't have the goal to achieve my work." But no matter what I tried, because there is no other than anyone else between the enemy and my city. I am surprised by myself, sometimes I succeeded.
Sometimes I failed; some of my cities have fallen. Then I found another threatened city and prepared for another battle. Over time, I have learned to look for threats and put me in them and my cities, summoning other hackers to join me.