自由软件开发模型:大教堂和集市

自由软件开发模型

自由软件开发模型

大教堂和集市是Eric S. Raymond于1.998年开发的清单文件,试图从他自己的观点和经验进行解释(Fetchmail开发) 他对Linux及其相关程序的成功创建和发展的理解,特别是从软件开发模型(他个人称为:大教堂模型和集市模型)之间的差异的角度出发。

在本出版物中,我们将提供对上述宣言的分析和总结,这些宣言在自由软件运动的开发人员中如此受欢迎。 它可以在Web的许多部分免费使用和访问,但是可以从以下Web链接下载以更快地访问它: 大教堂和集市。

大教堂和集市介绍

引言

所说的《大教堂和集市》向我们展示了一种愿景,即在软件工程世界中,存在“两种完全不同的开发风格,大教堂模型适用于商业软件领域的大多数开发,而Bazaar模型则更适用于Linux世界”。

强调这两个模型是从软件调试过程的本质上相反的出发点得出的,以及关于他所谓的莱纳斯定律的特定理论,该理论指出以下内容:“给出足够多的眼睛,所有错误都是不相关的”,或者换句话说:“有了足够数量的眼睛,所有错误都是微不足道的”。

它强调了“黑客”一词,在我看来,作者表示为一种能够理解和有效利用程序的高级用户。,并检测,建议或实施针对整个用户社区的有效形式和内容的更正或修改。

在其他文献中,这个称为“黑客”的词或概念指的是:

«对某个特定领域(尤其是技术领域)充满热情的专家,其目的是为了良性目的利用这些知识。 就是那个通常是知识领域的专业人员的人,他对知识充满热情,发现和学习新事物并理解它们的工作原理,并通过有效的建议和提议并且总是有意地改进它共享知识或避免学习对象的失败或故障。

因为人类知识的各个领域都有“骇客”,所以这是一个更为普遍和真实的概念。

自由软件开发的前提

发展历程

在阅读过此类材料的许多人中,肯定会有很多人同意,在那里清楚地表达了“ Linux是颠覆性的”想法。 但为什么?

因为直到那一刻, 基于“从一开始就更加集中和计划的方法”的多种标准化软件开发方法或模型 因为创建软件的行为被视为与导致“一定程度的关键复杂性”的事物相关联。

尽管存在着由小工具,快速原型制作和演进式编程组成的Unix世界, Linux下自由软件开发理念的出现使事情进一步发展。

在私有软件开发的世界中,它是以“沉默而崇敬的方式”完成的,就像建造大教堂一样, 在自由软件开发世界(Linux)中,它是以“嘈杂的方式进行的,并且有多个议程(路径)和方法(建议)”,就像您在大型集市上一样。

这份伟大的宣言为我们提供了一些前提,可以根据自由软件开发模型来浓缩此处表达的思想,这些思想是:

前提1:大教堂和集市

前提1

所有软件中的好工作都开始尝试开发者HIMSELF的个人问题。

这是不可否认的现实,因为 许多从事自由软件开发工作的人通常是由于需要解决个人或集体或团体的问题而开始,或优化已经以较慢和/或重复的方式执行的流程,这对于参与该流程的人来说往往会变得精疲力尽和/或无聊,从而试图最大程度地增加参与人员的时间和精力。

前提2:大教堂和集市

前提2

好程序员知道要写什么。 最伟大的知道什么要重写和重用。

任何程序员都知道,从头开始对于开发程序或应用程序来说并没有什么不好或不必要的。 但是,对于许多刚开始的人和已经对此有所了解的其他人来说,众所周知,有时再次“发明轮子”不是很有效,但是最好对其进行优化并使其适应您的需要。 换句话说,最好重写并吸收来自本领域其他专家的尽可能多的代码,以解决我们自己的软件开发问题。

前提3:大教堂和集市

前提3

“至少要考虑一下丢弃问题-您将以任何方式结束它。”

优秀的软件开发人员必须知道如何详细听取开发人员的意见,建议或提议,因为一个已经运行的程序尽管可以运行,但仍然会变得非常庞大,而失去了北方的优势。功能强大的怪物,可以为每个人做所有事情,而事情又不是很愉快。 因此,倾听根源,挽回失去的用户,添加新功能,删除不必要的功能,使程序更小,更具体和更通用始终是一种好习惯。

前提4:大教堂和集市

前提4

如果您有正确的态度,就会发现有趣的问题。

态度和时间的良好改变可能意味着每个程序员或软件开发人员在当前或新的开发中都发生了根本性的变化,进而为他们的产品用户带来了时间,金钱或舒适度方面的新优势。 寻求创新的方法来解决在正确的方向上以良好症状呈现的问题。

前提5:大教堂和集市

前提5

当程序不再引起您的兴趣时,您的最后职责就是将其传递给有能力的成功者。

对于许多程序员或软件开发人员以及其他技术人员而言,要为新项目投入新的时间并不少见。 但是在自由软件的世界中,前提是要通过接力棒,还有其他一些人希望继续开发已经废弃的产品,为此,他们必须允许任何人为自己或为他人破解(改进)程序。该计划的社区用户的利益。

前提6:大教堂和集市

前提6

快速改善和有效调试程序的复杂方式少之又少。

由于“自由”在自由软件的开发中通常被解释为“自由”,因此许多程序员倾向于通过与其他开发人员或开发的高级用户结盟,继续开发或让其他人继续使用来避免无偿的损耗它们,以换取在将来的代码创新的开发中获得的“信用”,并确保将来的开发正式包括一些许可,以避免滥用它。

前提7:大教堂和集市

前提7

尽快发布。 经常发射。 并聆听您的用户。

与专有软件开发世界不同,在自由软件中,通常情况下,速度越快越好。 由于通常在社区中使用和开发程序并彼此交互的广大用户和开发人员群体,可以交流他们的疑问,建议,提议,投诉和/或主张,因此可以迅速成为宝贵的知识来源。向成熟的发展阶段发展计划。

前提8:大教堂和集市

前提8

考虑到测试人员和贡献者的广泛基础,几乎所有问题都将得到快速识别,并且对于某些人来说,其解决方案将是显而易见的。

最终,这些材料使读者得出结论:基于Bazaar模型的软件开发方法非常有效。 因为软件开发人员向用户提供有关其程序的功能,自由或知识越多,他们就可以出于集体利益的目的贡献出更多的创意或有用的更改。

以下材料摘录令人愉快地表达了这一点:

我认为,这是大教堂风格和集市风格之间的根本区别。 按照大教堂看节目的方式来看,错误和发展问题是阴险,深刻和扭曲的现象。 少数专注的人需要几个月的审查才能确信他们已被遣散。 因此,发布新版本所需的时间很长,而等待了这么长时间的人所经历的不可避免的失望并不是完美的。

但是,根据集市模型,可以假设错误通常是小事,或者至少一旦暴露于几千个专门合作者的急切眼中,他们就会变得如此之快。其他每个新版本的方法。 因此,您将不断发布版本以获取更多修复程序,并且作为有益的副作用,如果您不时搞砸,那么损失也更少。”

结论:大教堂和集市

结论

就我个人而言,我在Bazaar类型模型下的自由软件开发领域的很少经验为我得出以下结论:

  • 应将用户视为宝贵的资源,在最好的情况下,应将用户视为他们在产品开发中进行协作的宝贵盟友。
  • 每个想法都是好事或值得探索的,因为有时最少被怀疑的想法可能是发展的绝佳解决方案或改进。
  • 最初的想法可能会分裂,扩展或偏离最初的概念,这是好事或可能的事,但重要的是,在您要服务,服务或帮助的用户市场类型方面,必须如何集中注意力。
  • 为了高效并且避免由于分散而付出的努力。
  • 最好的办法是编写一个小型,直接,简单但有效的代码,并设法使社区认为它是正确的。
  • 对于一个用户社区来说,一个程序已经很成熟,没有什么可消除的,因为添加始终是考虑的好机会。
  • 可以使用任何程序(部分或全部)以重用最初未想到的功能。
  • 所有软件必须采取各自的许可和安全措施,以对用户数据的使用保密。
  • 不必从头开始,总有人会开发出类似于我们构想的东西。
  • 一个人必须致力于自己喜欢的事情,一个人必须对自己将致力于自由软件的开发充满热情,以便在内部产生与所阐述事物的结合感,而又不至于发展出对事物的主人翁意识。它。
  • 开发人员和用户(协作者)之间必须有出色且频繁的通信方式,以便工作快速进行并有效地进行更改。

我希望您喜欢并发现此信息有用,因为对于所有编写任何免费软件程序的人(无论大小),都必须阅读“大教堂和集市”。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   纳西博伊

    不错的总结/意见,我只会带走这么多的“带代码的显示器”图像,以至于它什么也没有考虑

    1.    Linux安装后

      我发现它们适用于系统开发问题,删除它们不再是正确的做法,但是感谢您的观察!

  2.   拜伦

    出色的总结和类比。

    1.    Linux安装后

      谢谢Bayron的正面和正面评价。

  3.   爱德华多·德·特立尼达

    很好的尝试,祝贺这一重要通知。 我相信“在神的国度”中的一切都是(自由)自由的……否则,开发商将继续被颠覆者,难或钉在十字架上,那些不了解或不想了解我们必须“给予凯撒属于凯撒的东西……归于上帝属于上帝的东西…………小费(免费)在自然界是神圣的,就像阳光或呼吸的空气一样……自由是必要的,但自由却被痛苦的市场所破坏。专有软件。

    1.    Linux安装后

      问候,爱德华多·特立尼达。 感谢您的评论和贡献。