主题:使用开源代码的各种注意事项与LB( 纯技术【讨论】贴 -- 素里太守
小高同学不许拍砖,今天俺要做文抄公 --- 开源软件的本意就是鼓励大家做“文抄公”。
开源软件的定义是什么?俺WIKI了一下,下面是WIKI的[URL=http://en.wikipedia.org/wiki /Open_Source_Definition]英文定义[/URL],版面有限,俺不引用英文了,于是俺引用台湾繁体版的 --- 实际上就是英文版的台湾翻译 --- “开放源代码”。
* 自由再散布(Free Distribution):允许获得源代码的人可自由再将此源代码散布。
* 源代码(Source Code):程式的可执行档在散布时,必需以随附完整源代码或是可让人方便的事后取得源代码。
* 衍生著作(Derived Works):让人可依此源代码修改后,在依照同一授权条款的情形下再散布。
* 原创作者程式源代码的完整性(Integrity of The Author’s Source Code):意即修改后的版本,需以不同的版本号码以与原始的程式码做分别,保障原始的程式码完整性。
* 不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):开放源代码软件不得因性别、团体、国家、族群等设定限制,但若是因为法律规定的情形则为例外(如:美国政府限制高加密软件的出口)。
* 对程式在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得限制商业使用。
* 散布授权条款(Distribution of License):若软件再散布,必需以同一条款散布之。
* 授权条款不得专属于特定产品(License Must Not Be Specific to a Product):若多个程式组合成一套软件,则当某一开放源代码的程式单独散布时,也必需要符合开放源代码的条件。
* 授权条款不得限制其他软件(License Must Not Restrict Other Software):当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光碟片),不得限制其他软件的授权条件也要遵照开放源代码的授权。
* 授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。
洋洋洒洒,10条之多,大家先凑合着读一遍,领会一下精神实质。个人认为最实质的问题有4条:自由再散布(Free Distribution),源代码(Source Code),衍生著作(Derived Works)和散布授权条款(Distribution of License)。
本着以上的精神,各路“牛鬼蛇神”纷纷出马了,[URL=http://www.gnu.org/philosophy/license- list.html]“黑名单”[/URL]在此。上面有GNU的GPL, Apache, Berkeley,Boost, BSD,NCSA/Illinois,Perl 5,JAVA SCRIPT,Python,Ruby及其各种变体。大概最有名的当属GNU的GPL,CPL,以及各种BSD变体。
GPL包括17项条款(TERMS AND CONDITIONS),真是烂婆娘的裹脚 --- 又臭又长。而BSD的变体Berkeley仅包含3项。GPL的俺就不引用了,Berkeley版的BSD在此:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
看清楚了没有,就3条。
- 相关回复 上下关系8
🙂使用开源代码的各种注意事项与LB( 纯技术【讨论】贴 17 素里太守 字872 2009-06-15 18:06:13
🙂如何从开源到“闭源”(1)林林总总的许可大摘抄
😄调皮的小高来占个沙发。。。。。先花后看 高子山 字0 2009-06-23 01:30:21
🙂如何从开源到“闭源”。 邓侃 字49 2009-06-15 19:31:37
🙂不同开源协议要求也不太一样。 1 python 字216 2009-06-17 01:16:54
🙂GPL不是这样的 yueyu 字159 2009-06-23 11:38:13
🙂关于GPL的描述不正确 1 phil 字350 2009-06-25 00:17:34
🙂GPL是copyleft,你说的是LGPL Sandmann 字0 2009-06-23 11:52:39