我们是通过开源项目来拍摄自己的吗?

时间:2008-12-30 18:57:57

标签: open-source

我一直在考虑开发一些开源项目的想法,主要是因为其他人都这样做的原因:为了好玩和学习新东西。但现在这些OS(开源)项目比以往任何时候都越来越强大,越来越受欢迎。所以,我一直在想,我们是开发人员通过免费工作来扼杀我们的职业吗?我知道有一些操作系统项目付出了一些代价,但没有什么比你在工作中得到的报酬全职软件公司。

考虑这些最糟糕的情况:

  • OpenOffice或任何其他办公套装使Microsoft Office失效,现在微软必须解雇数千名开发人员......
  • Linux成为排名第一的操作系统,苹果和微软都不得不裁掉Windows和Mac开发人员。

想想这个比喻:

  • 如果有“开源银行”怎么办?!如果出纳员,经理,高管等都非常友好,免费工作,并提供一些踢腿产品,为什么去美国银行并支付大量的费用呢?

换句话说,如果所有软件都成为开源软件怎么办?这可能永远不会发生,或者即使它确实会在那里为我们提供大量工作,但无论如何,我想看看其他人如何看待我这种疯狂的偏执狂:)


另请参阅:
https://stackoverflow.com/questions/196131/making-money-with-open-source-as-a-developer
https://stackoverflow.com/questions/116581/open-source-why-or-why-not
The difference between Free Software and Open Source Software

19 个答案:

答案 0 :(得分:45)

开源并不意味着免费工作。即使产品本身是免费的,大多数开发大型开源项目的开发人员都需要付费。此付款可以来自支持它的第三方,也可以来自为运行项目而创建的基金会。

您是否真的认为Open Office等项目的主要开发人员正在免费开展工作?

此外,由于基于支持和安装的开源软件,通常会有许多公司启动。很多时候这些都是由软件的创建者运行的。 Asterix是一个开源项目的一个很好的例子,它有一个基于安装和支持的企业方面。

答案 1 :(得分:30)

大多数开发人员不参与像MS Office或Windows或OS X这样的项目。大多数开发人员都使用自定义软件,这些软件在公司范围之外从未见过,或者在小型行业之外从未听说过。这类专业软件通常不会出售,实际上甚至不是公司的最终产品。

开源软件是很多这种定制软件的基础。通过理解和贡献,您可以使自己对这些公司非常有吸引力。

我认为最大的开源成功是围绕基础设施类型的项目(Web服务器和操作系统),我认为这些是开源最重要的。

答案 2 :(得分:9)

有开源商业模式可以赚钱。它们通常遵循以下模式之一(或某种组合):

  1. 使软件开源,但出售支持(例如Postgresql)
  2. 使软件开源,但收取“赏金”以实现特定功能(例如Reiserfs)
  3. 使软件成为开源软件,但将一些闭源“高级”功能捆绑到商业版本(例如MySql)中。
  4. 最重要的是,它取决于您正在使用的开源软件类型。对于基础设施类型的项目,例如库,实用程序,通用服务器等,您实际上可以创建新软件行业的机会。如果他们都需要支付4万美元/处理器的Oracle许可证,网络服务器许可证,操作系统许可证等,那么有多少网络创业公司会在那里?如果Apache Commons,Hibernate等从未存在过,那么有多少Java产品永远不会发生?有时创建一些开源的东西可以创造出前所未有的全新商业模式。

答案 3 :(得分:4)

有足够的软件问题解决操作系统或Office问题应该只允许程序员在更高级别上工作。

这就像微软将网络堆栈包含在Windows 3.1中的论点一样 - 每个人都担心会让销售堆栈的公司失业。我很高兴他们做到了,并欢迎他们将反病毒安装到操作系统中。

答案 4 :(得分:3)

  

如果有“开源银行”怎么办?!那里的柜员,经理,   高管等非常友好,工作   免费,并提供一些踢屁股   产品,为什么要去美国银行   并支付吨费,对吗?

这不是一个很好的类比(开源!=无所事事),但......与BoA银行业务是一个糟糕的选择现在;这是一个可怕的银行。信用合作社实际上接近你所描述的,但商业银行继续......好吧,存在。

  

OpenOffice或其他任何此类   办公套装带来了Microsoft Office   现在微软不得不裁员   成千上万的开发者因为   此...

为此,OO需要在功能,易用性和支持方面达到或超过MSOffice。对于发生,MS需要完全丢球。考虑一下Internet Explorer的情况:有效地放弃了多年,但仍占据了大部分市场。还有其他因素在起作用。

答案 5 :(得分:2)

我在开源上工作有几个原因。首先,显然要提高我的技能。其次,这很有趣。可能最近最重要的是因为我厌倦了处理可能很酷的东西,这些东西最终出现在一个我无法告诉任何人的专有架子上。构建一些东西然后由于缺乏资金而陷入困境是非常令人沮丧的。如果我在业余时间免费工作,它仍然不是“我的”,我基本上都是免费工作。我宁愿能够分享它。

然而,有一些开明的公司(有时包括我自己)愿意投资开源开发。在这些情况下,除了通过开源工作获得报酬之外,还可以进行操作,这样你就可以获得报酬,而不是那么有趣的东西,你宁愿不做自己的时间。像文档一样的东西,对你并不真正关心的依赖关系的支持,等等。小心它不会离你而去:))

答案 6 :(得分:1)

这是一种权衡。是的,你是免费工作,但你也在学习 - 正如你所指出的那样。

我真的认为,如果一个OSS项目达到了威胁微软的程度,它就会在此之前停止“自由”。

这有点像2000年初(甚至现在在某种程度上)担心向低收入国家运送编程工作会让美国开发人员失业。如果您单独考虑逻辑,但是当您开始将其置于“真实”世界时就会崩溃,这是真的。

答案 7 :(得分:1)

所有软件永远不会成为开源软件。对定制软件的需求太多,因此总会有人愿意支付程序员为他们编写软件。

对开源项目的贡献可能有点像律师在做公益工作。程序员需要得到报酬,但如果他们喜欢编程,他们就会把自己的时间捐赠给他们关心的开源项目。

致力于他们喜欢的项目的程序员可以创建出色的应用程序,如果它是一个封闭的项目,它将永远不会被看到。

答案 8 :(得分:1)

我对此表示怀疑。就个人而言,开源项目最初是用来获得新技能的爱好 - 我可以向最终雇主出售的技能,并且能够指出我编写的实际使用代码。

你必须亲自权衡自己的决定。你会通过编写开源代码来进一步发展自己吗?它会给你更深度/广度吗?它会以你希望你的职业生涯的方式培养你吗?更好的是 - 你得到报酬吗?

即使所有代码都是开源的,我们最终都会成为顾问。许多公司向员工支付开源项目的费用。我能想到的最好的例子是IBM,RedHat和Sun.许多公司通过支持合同和集成开源来赚钱。还有很多钱可以流动。

答案 9 :(得分:1)

首先,OO toplling Office或Linux推翻Windows是不可能的。商业软件是商业软件,开源是开源的原因。

我只使用OO,因为它是免费的。如果OO和Office都是免费的,我会在心跳中选择Office,因为OO像狗一样慢,功能较少。而且Linux是严格的技术......如果你不喜欢所有的自己动手而只是想要一些不费吹灰之力的东西,你必须使用Windows或Mac。

使软件更具可用性和功能性的所有小额外接触使得商业软件更有价值。为什么是这样?那么,开源开发人员养家糊口的能力并不依赖于他们的产品销售。

这不是错误。就是这样。你支付质量,你获得质量。在您支付质量并获得垃圾的时候,如果没有开源项目,该公司可能会陷入困境。

(哦,将Photoshop添加到商业用品列表中比其免费版本Gimp更好)

答案 10 :(得分:1)

它不是那么黑白,我们还需要考虑动机......

很少有人在全职工作时使用开源...大多数开发人员,作为早期答案之一,负责公司内部项目以支付账单,然后是开源项目以实现自我实现。

从心理学的角度来看,特别是Maslow's Hierarchy of Needs日间工作满足了生理和安全需求,并且通过在开源项目中获得的自我实现和尊重,部分地满足了审美需求。

答案 11 :(得分:1)

开源项目实际上很少成为任何一个专有解决方案的唯一竞争对手,实际上大多数主流软件已经有相当广泛的商业竞争。

因此,从这个角度来看,相关商业/专有解决方案的供应商之间通常会有更多的竞争。

此外,根据个人经验说:每当我真正参与一个开源项目时,通常是由于商业/专有的闭源解决方案有一定程度的“挫败感”,而这些解决方案根本就没有 - 丰富,可定制或欢迎功能请求和支持查询。

老实说,我确实认为这种“刮擦你自己的痒心态”是许多开源项目和参与贡献者的常见动机:在某些时候,大多数项目都是因为闭源解决方案根本不具备接受性而开始的用户反馈(请求/问题或只是想法)。

事实上,我真的知道几个我根本不介意使用的闭源项目,仅仅是因为他们有很棒的支持并且非常善于处理他们的社区 - 基本上,我认为没有必要切换到开放式解决方案。

因此,在某些时候,它确实可以归结为能够与您的客户和用户社区进行适当的互动(这适用于闭源开源),其中还包括接受报告的功能请求和问题:如果你无法处理你的项目造成的社区动力,它实际上可能会回击你,弊大于利,仅仅因为它可能不可避免地导致用户群受挫,可能意味着您的社区正在拒绝您,以便检查替代方案,或者 - 在开源设置中 - 只需分叉您的代码并自行处理问题。

因此,从这个角度来看: 任何 类型的竞争通常归结为一种不同的愿景,这种愿景很可能是因为不接受这种观点第一名。

答案 12 :(得分:0)

开源模型并不适用于所有情况。我认为银行不太可能采用这种模式,因为它根本不合适。

如果没有人安装,维护和开发它,开源软件就无法运行。如果Mac和微软开放源代码,那么仍然需要工作人员。事实上,我的工作是维护开源产品。我不支持闭源系统。

另外:微软已经拥抱开源:
http://www.microsoft.com/web/gallery/Categories.aspx

答案 13 :(得分:0)

从长远来看,我认为开发者可以从开源中获益。

考虑到大多数开源项目都是“基础设施” - Linux操作系统,Apache Web服务器,jQuery等javascript库,可以消除浏览器之间的差异,简化常见任务。

Linus Thorvalds创建了Linux,因为他想要一个类似Unix的系统来玩,而无需支付数千美元的许可证。与Apache类似。创建Firefox是为了避免微软控制网络,并暗示所有网络开发者的命运。

如果没有开源替代方案,所有操作系统和Web服务器都由Microsoft或IBM控制,您必须支付数万美元的许可才能运行一个简单的网站,网络的状态是什么?今天?今天有成千上万的网络开发人员可以找到工作吗?

我认为一般的论点是拥有一个高质量,或多或少的免费软件基础架构

  • 提供更高质量的基础设施
  • 让您无需付费 技术培训的鼻子 只能从一个购买 特定商业供应商 (咳嗽 MCP 咳嗽 DB2 *咳嗽*) - 今天 它们是可选的,与其他一样 存在替代方案
  • 使程序员免于繁琐的工作 重新实现同样的共同点 功能分别为每一个 客户
  • 开辟了新的途径 解决新的和有趣的课程 问题
  • 增加了数量 软件用户 - 潜力 开发商市场 - 有几个 数量级

这对社会以及个人程序员和商业软件都有好处。

我认为将所有软件作为开源软件发布会自杀,这相当于一生免费工作。

但对于主要由开发人员使用的大量便利库和一般开发基础设施,我认为其优势远大于缺点。在自己的开源工作中,你可以获得在其他地方难以找到的经验。

答案 14 :(得分:0)

我认为,大部分资金都用于定制,支持和维护......

开源软件提高了开发人员的工作效率,因为它减少了从头开始重新开始的必要性......它只是一种工具,可以高效地创建真正的解决方案......一个可以立足的平台...... / p>

为最终用户设计的开源软件很少......重点不在于,它是免费的(如在免费啤酒中),但其他人是免费的(如在自由中)以使其适应他们的需求。开源是来自开发人员的开发人员......最终用户只倾向于看到免费的啤酒方面,但目前尚不清楚是否使用免费软件,这需要更陡峭的学习曲线,并且提供的支持较少,而且不具备许多保修,最终要便宜得多......

为开源软件做出贡献可以提高您的工作效率,因为您可以很好地了解该框架/库/工具,并且可以充分发挥其潜力,并且至少部分地根据您的意愿塑造它...... / p>

免费软件在强大的copyleft下分发,不包括商业用途(你很少运行这种东西),是一个不同的野兽,但在IDE的情况下,编译器和其他开发工具很酷......

另外,有一种恐惧就是放弃商业解决方案的来源......这也很偏执......当然,每当得到消息来源(无论是免费还是赚钱)时,每个人都可以修改你的...但是,为了做到这一点,有问题的开发人员必须熟悉来源......这需要花费很多钱(因此是时间),除非他们的公司真的计划大规模地这样做(在GPL下,它也意味着,他们的工作将作为项目的贡献回流),支付任何项目贡献者来修改所需的修改要便宜得多......

美丽的日子,当开发商付钱重新发明轮子时......他们中只有少数人有幸有时间在时髦的图书馆/框架/平台等上工作,其中最少的人得到了钱他们应该得到它......但他们获得了挑战,乐趣,经验,信誉以及创造适合自己需求的工具的机会......

如果您选择为开源项目做出贡献,那么您依靠自己和支持项目的社区......如果您只参与项目,那么您只依赖后者(这意味着只使用它并发送错误报告) ),你依赖一家公司,如果你选择成为专有软件的用户...我认为,第一个是你能做的最好的,第二个是用脚射击自己,最后一个就是砍它关......

答案 15 :(得分:0)

我认为除了已经提到的优点之外。开源项目为大学毕业生提供了一个在进入现实世界之前获得一些经验的绝佳机会。

这也增加了你获得工作的机会。

答案 16 :(得分:0)

通过开发OSS项目,开发人员可以为整个代码池做出贡献并帮助每个人。我自己,如果不是unix和Apache,我就失业了。许多使其他软件更好,更易于使用的优秀工具是OSS,我不想成为没有它们的行业。

如果OSS项目的情况是降低了付费开发职位的数量,那就太好了 - 支付人员重写已经在同行评审,社区支持的表格中提供的代码并不会更有效率。

答案 17 :(得分:0)

请记住,许多开源项目与付费产品的支持水平不同。例如,就像微软,ESRI,甲骨文,IBM等大公司一样。这些公司通过咨询,服务和支持方式从盒装软件的初始成本中获取大量利润。

答案 18 :(得分:0)

我不确定所说的确切数字,但我记得,90-95%的程序员从事内部业务项目,而不是针对大众市场的软件。大多数(如果不是全部)开源软件都是针对大众市场的。因此,虽然我们可能会失去一些工作,但我们可能不会对程序员整体需求产生那么大的影响。除非有大量的企业大量涌入COTS软件,而不是我不认为在不久的将来发生的个性化系统,我认为对大多数程序员的工作没有任何危险。此外,开源软件有助于创建商业软件的竞争,以便为封闭源软件的进一步开发创造更多需求。看看IE在开源浏览器Firefox开始成为一个重要的竞争对手之前已经处于休眠状态的时间。