《开源思索集》一Source Code + X

本节书摘来异步社区《开源思索集》一书中的第1章,作者: 庄表伟 责编: 杨海玲, 更多章节内容可以访问云栖社区“异步社区”公众号查看。

Source Code + X

开源思索集
最近,有一位来自学术界朋友,找到了我们这个开源的圈子,因为他正在做一个课题《开源项目知识共享影响机理》,打算做一轮访谈。他所提出的大多数问题,都是围绕开源与知识共享展开的。我在经过相当长的一段时间思考之后,却打算撇开那些问题,谈谈我的一些思考。

最早的Source Code,其实是非常学术性的,那些科学家们,研究、发明并制造出了计算机,然后再编写计算机能够运行的代码。对于科学家来说:代码与论文非常类似,都是学术成果,饱含知识。他们应该,也必须被分享给学术界的其他专家。

所以,在非常早期的阶段:Source Code + 论文 = 知识分享

到了1976年2月3日,比尔盖茨发了一封著名的《写给电脑爱好者的公开信》,高唱版权与利益。而且愤怒地将那些免费复制软件的家伙,称之为:窃贼!盖茨的观点,可以说完全正当,甚至他的逻辑也完全成立。如果无法保护商业软件的版权,那么整个软件行业都不会出现,他们会永远停留在校园里,停留在学术阶段。

所以,在看到的软件利益之后:Source Code + 版权 = 利益

有一群黑客,他们崇尚自由,并且痛恨一切对于自由的限制,哪怕是合理的,合法的限制。伟大的Richard Stallman站了出来,在1985年发表了GNU宣言,并于1989年起草了GPL,提出了Copyleft的概念。

所以,在追求自由的黑客看来:Source Code + GPL = 自由

而在另一方面,“贪得无厌”的资本家们觉得版权法对于他们利益的保护依然不够,他们需要借助专利的力量,不仅保证对手无法盗版他们的软件,而且连仿制都将违法。从美国的软件专利的历史来看,1992年以后,美国的软件专利保护,一直在呈不断扩大的趋势。

所以,对于资本家来说:Source Code + 专利 = 受到更多保护的利益

当然,这个世界上,中庸的人与团体,还是大多数。围绕着源代码,大家也在探索,是不是能够建立某种利益的共同体,而且这个共同体,并不会追求极端的自由,并不是仅仅为了共享知识,交流学术,他们拿起了法律的武器,创作了很多种不同的License,用于规定参与各方的权利与义务,不但能够与版权相容,甚至与 专利都不产生矛盾。(最早的Open Source这个名词,诞生于1998年)

所以,成千上万的人们,从五湖四海走来,团结在某一个License之下:

Source Code + License = Open Source

就像我不会批评比尔盖茨一样,没有对于版权的强调,就不会有健康的软件行业。我也不会批评开源运动,没有足够好的利益协调机制,仅仅靠理想与坚持,根本不会有现在这么多开源软件。

总体而言,我的态度是:自由软件值得尊重;软件版权应该遵守;开源运动值得参与;专利说到底是个很糟糕的东西;而知识, 蕴含在任何能够被读到的源代码里。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习中目标函数、损失函数以及正则项的通俗解释

目录:前言:1、什么是目标函数?2、损失函数3、正则化总结: 目录: 前言: 今天看到一篇很精简的文章来说明目标函数、损失函数以及正则项是什么。以下是文章正文。 转自:https://xiaozhuanlan.…

Linux中的 硬链接ln和软连接ln -s

文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方;而元数据则是文件的附加属性,如文件…

干货分享!DevExpressv16.2最新版演示示例等你来收!(上)

2019独角兽企业重金招聘Python工程师标准>>> 为解决大家找资源难的问题,EVGET联合DevExpress控件中文网盘点热门的DevExpress资讯、Demo示例、版本升级及下载,以及各种教程推荐等。更多下载及资讯也可以在DevExpress控件中文网中找到&#xf…

一文看懂哈夫曼树与哈夫曼编码

转自:http://www.cnblogs.com/Jezze/archive/2011/12/23/2299884.html 在一般的数据结构的书中,树的那章后面,著者一般都会介绍一下哈夫曼(HUFFMAN)树和哈夫曼编码。哈夫曼编码是哈夫曼树的一个应用。哈夫曼编码应用广泛,如JPEG中…

解决:未能将管道连接到虚拟机: 所有的管道范例都在使用中。

虚拟机无端出现: VMware Workstation 无法连接到虚拟机。请确保您有权限运行该程序、访问改程序使用的所有目录以及访问所有临时文件目录。未能将管道连接到虚拟机: 所有的管道范例都在使用中。 原因:Ubuntu开机慢到开不开,我就在任务管理器强制结束了…

tcpdf开发文档(中文翻译版)

2017年5月3日15:06:15 这个是英文翻译版,我看过作者的文档其实不太友善或者不方便阅读,不如wiki方便 后面补充一些,结构性文档翻译 这是一部官方网站文档,剩余大部分都是开发的时候和网络总结来的 项目官网:https://t…

CCF推荐各种国际学术会议和期刊目录

这是中国计算机学会推荐国际学术会议和期刊目录2015年版本的内容, 主要罗列了国际上计算机相关的各个方向的顶级学术会议和期刊目录(包含A、B、C三个等级)。 包含的方向有: 计算机体系结构/并行与分布计算/存储系统计算机网络网络…

Linux基本操作【作业】

1.如何使用命令立即重启linux操作系统? sudo reboot 2.如何查看/etc下的所有文件,并以列表格式显示,并且显示隐藏文件 cd /etc | ls -la 3.一次性创建 text/1/2/3/4 cd tmp mkdir -p text/1/2/3/4 (1&#xff…

开发日志_Jan.8.2017

这两天继续着手开发碰撞部分。 主要工作是写碰撞类和运动线程类。碰撞主要在于算法,运动线程只要管理好就行了。 之前碰撞测试中(即还未添加完整碰撞算法时)遇到各种bug,疑似机器人和小球的定位点不明所造成的。昨天研究了下QT下的…

Nginx【学习笔记】

Nginx 1. nginx可以做什么? 可针对静态资源高速高并发访问及缓存。 可使用反向代理加速,并且可进行数据缓存。 具有简单负载均衡、节点健康检查和容错功能。 支持远程FastCGI服务的缓存加速。 支持FastCGI、Uwsgi、SCGI、Memcached Servers的加速和…

第四次作业类测试代码+036+吴心怡

一、类图 二、代码 package application; public class Commission { /* * hp:耳机 80元 mpc:手机壳 10元 cpsp:手机贴膜 8元 */ public float calculate(String line) { int hp 0, mpc 0, cpsp 0; String[] input null; float money 0;…

LSI/LSA算法原理与实践Demo

目录:1、使用场景2、优缺点3、算法原理3.1、传统向量空间模型的缺陷3.2、Latent Semantic Analysis (Latent Semantic Indexing)3.3、算法实例 4、文档相似度的计算5、对应的实践Demo 目录: 1、使用场景 文本挖掘中,主题模型。聚类算法关注…

解决: ubuntu18.04没有网络直连

初次安装ubuntu 18.04, 发现没有网络. 直接上我遇到的这个问题的解决方法 sudo service NetworkManager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service NetworkManager start 未能解决问题的方法有 修改/etc/netplan/*.yaml 修改/etc/NetworkMana…

Linux学习134 Unit 8

Unit8 ldap网络帐号1.ldap是什么ldap目录服务认证,和windows活动目录类似,就是记录数据的一种方式2.ldap客户端所须软件yum sssd krb5-workstation -y3.如何开启ldap用户认证authconfig-tui┌────────────────┤ Authentication Configu…

FastText原理总结

目录:1、应用场景2、优缺点3、FastText的原理4、FastText词向量与word2vec对比 目录: 1、应用场景 fastText是一种Facebook AI Research在16年开源的一个文本分类器。 其特点就是fast。相对于其它文本分类模型,如SVM,Logistic …

解决 :sudo:/etc/sudoers 可被任何人写

问题: sudo:sudo /etc/sudoers is world writable sudo:no valid sudoers sources found ,quitting sudo:unable to initialize policy plugin 解决方案: 方法一: 1.开机按shift或esc进入ubantu高级模式 再进行recovery模式 2.选择root命令行模式 3.…

sqlserver数据库类型对应Java中的数据类型

SQL Server 类型JDBC 类型 (java.sql.Types)Java 语言类型 bigint BIGINT long timestamp binary BINARY byte[] bit BIT boolean char CHAR String decimal money smallmoney DECIMAL java.math.BigDecimal float DOUBLE double int INTEGER int image v…

Doc2Bow简介与实践Demo

Doc2Bow是Gensim中封装的一个方法,主要用于实现Bow模型,下面主要介绍下Bow模型。 1、BoW模型原理 Bag-of-words model (BoW model) 最早出现在自然语言处理(Natural Language Processing)和信息检索(Information Ret…

linux nginx完全卸载

比较靠谱的解决办法是: root权限下载命令行敲入如下命令: sudo rm -rf /etc/nginx/ sudo rm -rf /usr/sbin/nginx sudo rm /usr/share/man/man1/nginx.1.gz sudo apt-get remove nginx* 原理就是删除关联文件以及文件夹。

[LeetCode]Basic Calculator

题目:Basic Calculator 给定一个合法的运算表达式,该表达式中只包含数字、、-、 、(、)。 思路: 简单思考不用看成加减两种运算,直接看成加法,只不过由正负; 如何处理括号呢?因为只看成加法&…