政府问:您的软件中有什么?

美国政府更加关注软件组件 美国政府的多家机构都在密切关注他们购买的软件。 更具体地说,他们想知道用于构建软件应用程序的开放源代码和第三方组件。 该报告指出: 美国食品药品监督管理局(FDA)希望了解医疗设备中使用了哪些开源组件。 美国国防部(DOD)正在为软件购买引入新的采购语言,以确保其无意或无意设计或作为软件一部分插入的漏洞。 美国联邦贸易委员会(FTC)投诉企业提供具有已知漏洞的软件。 过去一年,美国国家标准技术研究院(NIST),美国保险商实验室(UL)和美国总务管理局(GSA)18F集团也采取了类似措施。 这些计划的共同点是需要软件物料清单。 根据Wikipedia的说法,“软件物料清单”(软件BOM)是一个软件中组件的列表。 软件供应商通常通过组装开源和商业软件组件来创建产品。 软件BOM表描述了产品中的组件。 它类似于食品包装上的成分清单。” 您的软件中有什么? 如今,这个问题不难回答。 过去的软件应用程序是从头开始编写的,每个程序都像雪花一样,而今天的应用程序则由可重用的开源和第三方组件组装而成。 现在,使用开放源代码和第三方组件构建的应用程序中有80–90%,组织可以轻松地快速生成软件物料清单。 相同的规则适用于软件…

开源是一种艺术形式

伟大的开源项目可以与伟大的艺术品相提并论,而艺术应始终由激情驱使。 只有当这种推动力是纯净的和真实的,艺术才能永远存在,无论它最初出现的原因是什么。 听起来一切都充满诗意和美好,作为一家公司,我可能想自豪地投资于这些艺术品,但永远不能用金钱来购买激情。 从一开始,这个简单的定理就使商业和艺术两个实体具有非常复杂的关系。 对于他们来说,处于激烈的拒绝状态,然后跳到共生的存在或完全独立的情况并不少见。 除了“我们如何使艺术成为现实”这一悬而未决的问题(在这里将艺术作为有价值的开源来阅读)之外,公司面临的另一个重大且有争议的问题是“为什么我们首先需要艺术”。 艺术家本身常常不知道为什么需要这样做,他只是对表达和分享的非常亲密的需求做出反应。 如果我们将艺术品视为“手工艺”活动的最高表达,那么很容易想象每位工匠都将“最新技术”作为其创作的模型,但是很难想象他们放慢他们的工作并冒险收入来源,以探索自己改变现状的方法。 使这个主题与软件开发相关联变得很容易理解,为什么开发人员会钦佩(是的,他们应该)开源,将其作为纯形式的“艺术”演变路径,用于原本由业务驱动的手工制作领域。 另一方面,使投资者接受将资源分配给开放源代码的风险,这通常看起来像旧西部的蛇油交易所。 在很多方面,开源软件都等同于其他技术领域的公共研究论文,但是主要区别在于,鉴于软件的虚拟性,任何人都可以非常轻松地共享,贡献和创造并非只是理论上的,但很可能已经准备好使用。 相反,他们分享的是商业问题,如果值得投资或不投资。 开源的一些商业友好论点通常围绕为品牌创造声望,以吸引优秀的开发者,这些开发者最终将有助于赚更多的钱。 在某些市场中,开放性也是吸引客户和/或免费获得众包内容的一种方式。 工程部门的某人可能还会补充说,这对他们非常有利,因为它强制执行更高的代码质量标准,并可能导致有价值的外部贡献和发现问题。 这些都是独立于观点的良好理由,我可能会想念更多,但在某些时候,我们所有人都必须面对并接受这样一个事实,即我们试图出售的东西实际上是必要的,不仅对于行业,但对于人类进步本身。 研究新的做事方式根本不能保证成功或结果,这就是进步的根本所在,而如果不以最高的意义分享这些纯粹的艺术品,人类历史上就不会有进步。 但是,从业务角度来看,这就像赌博:您将资源投入到非常不确定的事情上,希望获得一些早期采用的奖励,或者更常见的是,极大地提高知名度,并希望内部文化的影响力最终得以领先以获得更多的钱。…

开放式食物网络-我的第一个开放源代码贡献

在图灵的最后一次修改中,我和我的三个同学为开放源代码项目做出了贡献。 这样做的目的是让学生接触与该项目一起使用的大型代码库,陌生的框架和库,这与我们在担任前端开发人员的第一份工作中会遇到的情况非常相似。 开放食品网络是一个致力于在全球范围内创建新的更好的食品系统的组织。 它目前在澳大利亚,英国和加拿大活跃。 此外,在法国,挪威,南非,印度和瑞典的存在过程中。 开放式食品网络由三个自组织层组成: 全球基金会:基于开源代码和原则的全球性非营利组织。 它向非营利合作伙伴授权了该平台,并支持他们将OFN融入其所在地区。 区域平台:非盈利性软件平台连接区域或国家的食品生产商和枢纽并赋予其权力。 他们进入新市场,建立人脉并讲述自己的故事。 本地化(localized)购物:人们从当地的生产者和他们知道并信任的中心购买美味的食物。 它是多样的,透明的,本地的和可持续的。 它是作为转换的交易。 开放式食品网络技术是CoffeeScript,Angular,HAML和Ruby。 刚开始时这有点让人不知所措,但是在阅读代码库的不同部分时,我们发现与我们以前知道或见过的其他语言和框架有一些相似之处。 我们做出贡献的第一步是通读文档。 此外,了解开放食品网络为何相信创建此系统以及它如何真正,真正地使用户,农民和消费者受益是非常重要的。 其次,我们浏览了存储库中列出的不同问题,并列出了我们认为适合进行工作的问题。…