开源软件
开源软体(英语:open source software,缩写:OSS)又称开放原始码软体,是一种原始码可以任意取用的电脑软体,这种软体的著作权持有人在软体协定的规定之下保留一部分权利并允许使用者学习、修改以及以任何目的向任何人分发该软体。开源协定通常符合开放原始码的定义的要求。一些开源软体被释出到公有领域。开源软体常被公开和合作地开发。开源软体是开放原始码开发的最常见的例子,也经常与使用者创作内容做比较。 开源软体的英文「open-source software」一词出自自由软体的行销活动中。
开源软体同时也是一种软体散布模式。一般的软体仅可取得已经过编译的二进位可执行档,通常只有软体的作者或著作权所有者等拥有程式的原始码。
有些软体的作者只将原始码公开,却不符合「开放原始码」的定义及条件,因为作者可能设定公开原始码的条件限制,诸如限制可阅读原始码的物件、限制衍生产品等,此称之为公开原始码的免费软体(Freeware,例如知名的网路论坛软体Discuz!),因此公开原始码的软体并不一定可称之为开放原始码软体。
历史
1997年,埃里克·雷蒙出版其著作《大教堂和市集》,探讨骇客社群与自由软体原则。1998年初,该论文受到极大的关注,为促成网景通讯公司将其受欢迎的网际网路套装软体《网景通讯家》释放成为自由软体的因素之一。这些程式码即为今日大家熟悉的Mozilla Firefox与Thunderbird。
网景的行动激起雷蒙及其伙伴深入研究如何将自由软体基金会的自由软体概念及优点带入商业软体产业。他们查觉基金会的社会活动不如网景等公司的行动来得吸引人,因而试图重新包装自由软体运动,以强调分享与协作软体原始码的潜在商机。他们选用的新名称为「开放原始码」(open source),很快地布鲁斯·佩伦斯、出版家提姆·奥莱理、林纳斯·托瓦兹及其他人支持新名称。开放原始码促进会于1998年2月建立,以推动使用新名称,并宣扬开放原始码的原则[3]。
开放原始码的定义
开放原始码的定义由Bruce Perens(Debian的创始人之一)定义如下:
- 自由再散布(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):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。
尽管一开始接受[4],自由软体基金会的理查·斯托曼现在断然反对将「开源软体」与「自由软体」混为一谈。虽然在法律上并未明确区分自由软体与开源软体,但斯托曼认为不宜滥用[5]。
开放原始码与自由软体
许多人将开放原始码与自由软体(Free Software)视为相同,但若以定义条件而言,自由软体仅是开放原始码的一种,也就是自由软体的定义较开放原始码更为严格,并非开放原始码的软体就可称为自由软体,要视该软体的授权条件是否合乎自由软体基金会对自由软体所下的定义:
自由软体是在电脑为个人或为公共利益,而非私人公司或政府等企图限制或监视我们工作时,我们在家、学校、公司使用时,我们具有其控制权[6]。
开放原始码有时不仅仅指开放原始码软体,它同时也是一种软体开放模式的名称。使用开放原始码开放模式的软体代表就有Linux作业系统。
严格地说来,开放原始码软体与自由软体是两个不同的概念,只要符合开源软体定义的软体就能被称为开放原始码软体(开源软体)。自由软体是一个比开源软体更严格的概念,因此所有自由软体都是开放原始码的,但不是所有的开源软体都能被称为「自由」。但在现实上,绝大多数开源软体也都符合自由软体的定义。比如,遵守GPL和BSD授权的软体都是开放的并且是自由的。
「开放原始码软体运动」是一个主要由程式工程师及其它电脑使用者参与的声势浩大的运动。它是自由软体运动的一个分支,但两者的差别并不明显。一般而言,自由软体运动是基于政治及哲学思想(有时被称为所谓骇客文化)的理想主义运动,而开放原始码运动则主要注重程式本身的品质提升。
漏洞
虽然开放原始码的堡垒看似严谨,但其实大部份的程式开发员都弄不清各种授权条款之间的差别,导致成为了小部份别有用心人士所利用的物件,较著名的例子有DivX,早期DivX雏形是一个LGPL的自由软体,由大部份优秀的软体高手义务地开发,但当软体渐渐成形时,DivX的公司DXN利用LGPL的漏洞对DivX进行了闭源,大部分软体爱好者都感到被出卖,所以着手开发了XviD。虽然XviD在软体方面明显比DivX优秀,但市场占有率却不如DivX。
参考文献
- ^ Verts, William T. Open source software. World Book Online Reference Center. 2008-01-13. (原始内容存档于2011-01-01).
- ^ Frequently Asked Questions. Open Source Initiative. [2008-09-08]. (原始内容存档于2006-04-23).
- ^ History of the OSI. Opensource.org. [2015-04-26]. (原始内容存档于2007-08-08).
- ^ Tiemann, Michael. History of the OSI. Open Source Initiative. [2014-05-13]. (原始内容存档于2011-11-27).
- ^ Stallman, Richard. Why "Open Source" misses the point of Free Software. Philosophy of the GNU Project. Free Software Foundation. 2007-06-16 [2007-07-23]. (原始内容存档于2011-08-04).
As the advocates of open source draw new users into our community, we free software activists have to work even more to bring the issue of freedom to those new users' attention. We have to say, 'It's free software and it gives you freedom!'—more and louder than ever. Every time you say 'free software' rather than 'open source,' you help our campaign.
- ^ [The Free Software Foundation (FSF) ]
外部连结
参见
|
|
|
|
|
#
- .NET Micro Framework
- 3月14日
- 4chan
- ABC iview
- ACL2
- AMule
- APL
- APL語言
- ActivityPub
- AdGuard
- Agrep
- AkelPad
- AlmaLinux
- AlphaFold
- Android
- Android-x86
- AngularJS
- Ansible (軟體)
- AntiX
- Apache MXNet
- Apache Qpid
- Apache Tomcat
- Apache软件基金会
- Arch Linux
- Arduino
- Astra Linux
- Atutor
- AutoHotkey
- BIRT
- BeagleBoard
- BitTorrent (公司)
- Blitz Basic
- Brotli
- Butter Project
- Bzip2
- CGNS
- Caffe
- CcTalk (网络协议)
- ChatSecure
- Chez Scheme
- Clash
- Classic Mac OS
- Claws Mail
- ClearOS
- ClickHouse
- Clozure CL
- CnBeta.COM
- CoDel
- CocoaPods
- Code::Blocks
- Croquet OS
- Cuneiform (编程语言)
- Dc (程序)
- Dd (Unix)
- Debian自由软件指导方针
- DigitalPlat
- Djl
- Dojo Toolkit
- Dolibarr
- Double Commander
- EMoviX
- EMule CN Mod
- EMule EastShare Mod
- EMule MagicAngel Mod
- EMule Mephisto Mod
- EMule MorphXT Mod
- EMule NeoMule Mod
- EMule ScarAngel Mod
- EMule StulleMule Mod
- EMule VeryCD Mod
- EMule X Mod
- EMule X-Ray Mod
- EMule Xtreme Mod
- EMule eXcalibur Mod
- EOS.IO
- EasyMule
- Easystats
- Eclipse公共许可证
- Ecshop
- EdX
- Elisa
- Ember.js
- EndeavourOS
- Epic (瀏覽器)
- EulerOS
- Euphoria语言
- ExifTool
- Expr
- Extjs
- FOSSASIA
- FastCopy
- Firefox OS
- Flutter
- FreeArc
- GAMESS (美国版)
- GLPI
- GNU数据语言
- GNU通用公共许可证
- GPGMail
- GTK
- Gdi++
- GeoServer
- Gitea
- Gitter
- Glow (JavaScript函式庫)
- Godot
- GoldenDict
- Google Cardboard
- Google Fuchsia
- Google Guava
- Graph (Unix)
- HDwiki
- Haiku
- Heartbeat
- Hibernate
- Homebrew
- Hugin
- IBM Plex
- IJab
- IOS 14
- IOS 15
- IOS 16
- IPFilter
- IPadOS 15
- IPadOS 16
- Info-ZIP
- Isabelle
- JACK Audio Connection Kit
- JQuery
- JSDelivr
- JasperReports
- Julia (编程语言)
- Jupyter
- KDE neon
- KaiOS
- Keras
- Kivy
- Kubernetes
- LCC (編譯器)
- LZFSE
- Larceny
- Libjpeg
- Libvirt
- Linux From Scratch
- Linux发行版
- Linux基金會
- Linux游戏
- Lodash
- LogicalDOC
- Ls
- Lubuntu
- MEGA
- MLDonkey
- MX Linux
- Mac OS X v10.0
- Mac OS X v10.1
- MacOS Big Sur
- MacOS Catalina
- MacOS Mojave
- MacOS Monterey
- MacOS Ventura
- MacType
- MathJax
- Mattermost
- Media Lovin' Toolkit
- MediaInfo
- MicroG
- Microsoft Azure
- Microsoft Windows與Linux的比較
- Mirai (恶意软件)
- Mnesia
- Mono
- Moodle
- MoonShell
- Motif窗口管理器
- Mozilla VPN
- Mtp Target
- MyRocks
- NativeScript
- NetHack
- Netrek
- Netwide Assembler
- Nginx
- Noegnud
- Numba
- Nuxt.js
- OSS
- Open Hub
- OpenCog
- OpenDNS
- OpenELEC
- OpenMediaVault
- OpenNIC
- OpenOffice.org
- OpenSearch (軟體)
- OpenStack
- PCLinuxOS
- PDF軟體列表
- PGP
- PSI (计算化学)
- Pandas
- Paranoid Android (软件)
- Parrot虚拟机
- Passwd
- Pdftk
- Peercast
- Peppermint Linux OS
- PhantomJS
- PlayStation Portable破解
- PortableApps.com
- PostmarketOS
- Ppc64
- Praat语音学软件
- Prime95
- Pushd及popd
- Pwd
- PyMC
- Pylons
- RPCS3
- Raspberry Pi OS
- React Native
- ReactOS
- Rocky Linux
- Rufus
- SIL开源字体授权
- SView
- SWIG
- Secure Shell
- Shareaza
- Sigil
- Signal协议
- Smalltalk
- SoftEther VPN
- Solaris
- Solus
- SourceForge
- SquashFS
- Stable Diffusion
- Standard ML
- StartOS
- Sylpheed
- TACTIC
- TWRP
- Tarantool
- TempleOS
- TestLink
- Tftpd32
- Thymeleaf
- Tor
- Tornado
- Tremulous
- TrueCrypt
- TrueNAS
- UNIX
- UnixODBC
- UnrealIRCd
- Ur (编程语言)
- Vapor
- Vega Strike
- Veyon
- Vue.js
- Web2py
- Webfmt
- Wikitongues
- WildFly
- Windows 10
- Windows 11
- Wings 3D
- XGBoost
- XOWA
- Xenia
- Xinetd
- YaCy
- Youtube-dl
- ZeroBrane Studio
- “电驴”名称争议
- 万里开源
- 三十航班之恋
- 三维计算机图形软件
- 下载管理程序比较
- 严肃的骨头
- 互联网+
- 代码重复
- 体验好奇号
- 光盘制作软件列表
- 免费商用字体
- 公开来源情报
- 共享源代码
- 共享軟體
- 共识主动性
- 分散式應用程式
- 分散式版本控制
- 动态反吸血驴保护
- 博尔尼塔开源解决方案
- 卡丁车赛车游戏
- 反996许可证
- 同侪指导项目中心
- 向後移植
- 吸血驴
- 图数据库
- 國際統一碼部件
- 大腦模擬
- 大象之梦
- 天河一号
- 太阳神三国杀
- 如何在FreeBSD上给KDE2打补丁
- 媒体实验室
- 密码战争
- 布蘭登·布魯默
- 开源定义
- 开源操作系统比较
- 开源标准
- 开源游戏
- 操作系统历史
- 文化分析
- 文字处理器
- 文鼎科技
- 星系舰队
- 格式化对象处理器
- 桌面出版
- 桑迪亚国家实验室
- 比特币
- 海盜灣
- 湯姆·沃特森
- 潜在有害程序
- 牛頓遊戲動力學
- 独立游戏
- 环境与可持续发展人工智能
- 理查德·斯托曼
- 百戰天蟲系列
- 看源软件
- 社交网络网站列表
- 科能
- 第二人生 (互聯網)
- 算术编码
- 約翰·卡馬克
- 紅帽公司
- 终身仁慈独裁者
- 绿坝娘
- 网络伦理
- 网络应用程序
- 网页设计
- 自由及開源軟件開發者歐洲會議
- 自由軟體定義
- 自适应多速率音频压缩
- 色彩管理
- 艾姆斯研究中心
- 苹果全球开发者大会
- 计算机代数系统列表
- 诺基亚X软件平台
- 象棋巫师
- 超前沿技術
- 跨平臺
- 軟件版本週期
- 軟體供應鏈
- 軟體發行方式比較
- 軟體自由法律中心
- 软件再许可
- 软件自由日
- 迷霧通
- 通用Windows平台
- 達世幣
- 部件工具箱
- 量子化学和固体物理学软件列表
- 長期支援
- 香港討論區
- 马克·沙特尔沃思
- 黃金大廈
- 黑客松