-
Notifications
You must be signed in to change notification settings - Fork 0
open_source_software
当我们谈到free这个词,
比如"Free的软件",其实free这个自在这里可作两种解释,一个是"自由"
一个是"免费"的意思。为了不要产生误会,我们通常使用"开源"来解释自由使用及重新分配等等权力。另一方面,我们用"免费软件"来解释用户可以免费使用
这个软件。其实,开源软件不一定是免费的。或至可以说,开源软件通常不是免费的,至少不是完全免费。开源软件主要特点是用户必须拥有以下的自由:
- 完全自由使用这个软件,把软件使用在任何计算机上,在任一个适合的技术环境、情况下使用。
- 自由处置软件,令软件适合他们的需要。当然, 这包括改进它, 修理它的错误(bugs), 增添它的功能, 和学习它的操作。
- 自由重新分配软件给其它用户,令其它用户自己也可以根据他们的需要去使用它。这“再分配”的行为可以是免费的,也可以是收费的,而且是没有预先设定的价钱。
再说,我们需要很重要的分清楚我们谈论的是自由,并且不是义务。那就是说一个开源程序的用户可以自由修改它,前提是如果他们感到这是适当的。但在任何情况下, 他们不应该被迫去修改。同样地,他们可以重新分配给任何人,同样地,他们不可以被迫去这样做。
满足刚才提到的三个条件,现在有第四个条件也是一个基本条件,并且是必要的:
- 用户必须可以自由进入软件的源代码。
程序的原始代码, 通常是用一种高级编程语言来编写,是绝对必要能了解它的功能,修改它和改进它。如果程序员能够进入程序的原始代码, 他们就可以向它学习,可以得到它所有的细节知识,并且可以应用它就好像原创编程者一样。这就是开源的理念!
When
we talk, in English, about "free software", there is a dangerous
ambiguity, due to "free" meaning both "freedom" and "gratis". Therefore
we will use mainly the term "open source" when referring to users
freedom of use, redistribution, etc., and "gratis software" when
referring to zero acquisition cost. Open source software does not have
to be gratis. Even more, it usually is not, or at least, not completely.The main features that characterize free (open source) software is the freedom that users have to:
- Use
the software as they wish, for whatever they wish, on as many computers
as they wish, in any technically appropriate situation.- Have
the software at their disposal to fit it to their needs. Of course,
this includes improving it, fixing its bugs, augmenting its
functionality, and studying its operation.- Redistribute
the software to other users, who could themselves use it according to
their own needs. This redistribution can be done for free, or at a
charge, not fixed beforehand.It is important
to make clear that we are talking about freedom, and not obligation.
That is, users of an open source program can modify it, if they feels
it is appropriate. But in any case, they are not forced to do so. In
the same way, they can redistribute it, but in general, they are not
forced to do so.To satisfy those previous conditions, there is a fourth one which is basic, and is necessarily derived from them:
- Users of a piece of software must have access to its source code.
The
source code of a program, usually written in a high level programming
language, is absolutely necessary to be able to understand its
functionality, to modify it and to improve it. If programmers have
access to the source code of a program, they can study it, get
knowledge of all its details, and work with it as the original author
would.