-->
保存您的免费座位流媒体连接今年八月. 现在注册!

回归基础:什么是开源软件?

新手入门,老手复习, Back to Basics is a regular feature examining some of the basic concepts and technologies involved with delivering online video.

谷歌几周前的选择, to use a modified version of the BSD open-source license for its WebM format and VP8 codec raised the discussion of open-sourcing to a level that it was covered by more than just the tech media.

即使在谷歌放弃了 “毒丸”添加 那是在最初的许可条款中,回到了 标准BSD许可证, the question that many involved in online video are asking is "what exactly is open source anyway?"

来帮助解释这个问题, 以及它对流媒体的适用性, let's look at the difference between commercial proprietary applications, 免费软件应用程序, 以及开源代码.

大多数程序是以编译后的形式交付给最终用户的, along with an end user license agreement (EULA) that disallows any de-compiling in order to access the source code. 

商业应用, banning users via the EULA from de-compiling the program makes commercial and competitive sense, and most users are content to complain about the program's lack of a particular feature or inefficiencies rather than trying to modify the code to stabilize the program or add features

养猫
The open-source community, by contrast, is full of tinkers and hackers who are naturally curious. Some want to put their frustration to good use fixing problems within the programs, 其他人只是想看看幕后是什么, to enhance their own programming skills by reading source codes written in a variety of computer programming languages, 比如C甚至Java.

Since modifications to the source code mean the program must be recompiled before use, open-source initiatives often have a repository to keep track of modifications to particular features or groups of features.

重新编译的版本称为构建, and a typical commercial project can have tens or hundreds of builds before one is approved for release. 在开源存储库中, every single build is available for compiling or re-programming in a different direction. Too many moves in a particular direction away from the main programming intent may result in a branch-a fork in the code that takes a particular feature set in a more active programming direction.

If you think that licensing or restricting open-source code is akin to herding cats, 你离得不远了. While source code modification and re-use is one of the hallmarks of the open-source community, specific rules also govern the use of source code in commercial programs. Open-source developers expect to freely be able to modify source code and are expected, 反过来, to publish their enhancements back into the open-source community for use in other open-source projects.

这并不是说开源代码没有许可证. 事实上, 开源促进会 (OSI)指出了假定有许可证的事实, and that it can't be restrictive in a way that inhibits free dissemination of code, 编译或其他方式.

根据OSI的第1节 定义 开源的, 标题为自由再分发, OSI notes that "the license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources."

"The license shall not require a royalty or other fee for such sale,这一节还指出, 加上基本原理. “通过限制许可证要求自由再分发, we eliminate the temptation to throw away many long-term gains in order to make a few short-term sales dollars. If we didn't do this, there would be lots of pressure for cooperators to defect."

While the intent was originally to cover software created by members of the open-source community, OSI和 自由软件基金会(FSF) are also having to contend with licensing source code for a previously commercial or proprietary software product, as more companies find the goodwill of the open source community advantageous if the commercial company has a software product with potential that they cannot meet with in-house resources.

The royalties question is the one that was raised under Google's modified BSD license, 因为MPEG-LA似乎正在创建一个专利池, once it became clear Google intended to strip the use of the software code from anyone who sued Google over patent infringement. Google's move back to a fully compliant BSD open-source license has, 目前来看, eliminated the potential for the patent pool to financially benefit from the code Google released.

开源软件也有赚钱的方法? 是的.

咨询:提供咨询服务的行为, 包括软件和硬件的设置, 编译后的代码是相当标准的做法, 从红帽这样的公司开始, which got its start with open-source Linux distributions (distros) that were somewhat complex to set up.

如果发行版, 编译应用程序, 甚至源代码也很容易获得, 按照OSI的要求, why would anyone pay for services to set up or optimize the software?

答案可以在OSI对源代码的定义中找到.

程序必须包含源代码, and must allow distribution in source code as well as compiled form,第一节说. "The source code must be the preferred form in which a programmer would modify the program. 不允许故意混淆源代码. Intermediate forms such as the output of a preprocessor or translator are not allowed."

流媒体覆盖
免费的
合资格订户
现在就订阅 最新一期 过去的问题
相关文章

Flumotion在WebM中流式传输实时事件

The company first to offer live streaming with Google's WebM format is now webcasting the first WebM event.

提及的公司及供应商