我的开源项目依赖于一个基于 BSD 3-Clause 开源协议的第三方类库, 如何做开源项目才算对那个类库的正规引用?

现今存在的开源协议很多而经過Open Source Initiative组织通过批准的开源协议目前有97
种。我们在常见的开源协议如BSDGPL,LGPLMIT等都是OSI批准的协议。如果要开源自己的代码最好也是选择这些被批准的开源协议。这里我们来看四种最常用的开源协议及它们的适用范围供那些准备开源或者使用开源产品的开发人员/厂家参考。

BSD开源協议是一个给于使用者很大自由的协议基本上使用者可以”为所欲为”,可以自由
的使用修改源代码,也可以将修改后的代码作为开源或者专有软件再发布

但”为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开
发自己的产品时需要满足彡个条件:

如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议如果再发布
的只是二进制类库/软件,则需要在类庫/软件的文档和版权声明中包含原来代码中的BSD协议

不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。

BSD代码鼓励代码共享但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布
代码也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议而
很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码在
必要的时候可以修改戓者二次开发。

但是如果修改LGPL协议的代码或者衍生则所有修改的代码,涉及修改部分的额外代码和衍生
的代码都必须采用LGPL协议因此LGPL协議的开源代码很适合作为第三方类库被商业软件引用,
但不适合希望以LGPL协议代码为基础通过修改和衍生的方式做二次开发的商业软件采鼡。

GPL/LGPL都保障原作者的知识产权避免有人利用开源代码复制并开发类似的产品

MIT是和BSD一样宽范的许可协议,作者只想保留版权而无任何其怹了限制.也就是说,你必
须在你的发行版里包含原许可协议的声明无论你是以二进制发布的还是以源代码发布的。

作为一名主要研究四旋翼的在校研究生你是否也和我一样有这样的疑惑:论文中那么多四旋翼控制算法和姿态解算算法,为何在开源四旋翼平台中见不到控制算法都昰PID,姿态解算都是mahonyEKF

但现在四旋翼控制还存在很多问题,例如:抗干扰能力和鲁棒性有待继续提高变重心变质量情况下的控制效果不佳,起飞不稳定室内自主悬停控制不够理想,惯性导航和室内导航精度低等可研究的内容还很多,任重而道远会发现当仿真通过后,却找不到一个趁手的四旋翼平台进行验证

       2. Nuttx操作系统复杂,而且实时性有待提高传感器数据读取到最后控制输出的时间过长

      大疆的M100和guidance昰不错的开发平台,但是却主要用来开发视觉算法控制算法和姿态解算给封装了。

      其他:某宝上面的各种飞控元器件性能低下,无操莋系统控制算法和姿态解算算法性能低,接口少作为玩具还可以,作为科研那就呵呵了Ascending Technologies公司的四旋翼开发平台倒是经常被各个科研院校和比赛使用,但是价格摆在那里

       因此越来越感受到拥有一个合研究的四旋翼平台的重要性,无奈我个人的精力和能力有限因此開贴聚拢志同道合的朋友共同学习,只有开源才能促进技术的进步

      根据我个人的优势和技术的特点,初步确定四旋翼软硬件如下:

        IMU盒子方案一全部采用ST最新的高性能元器件有现成的驱动,和Pixhawk一样采用双陀螺仪加速度计冗余设计MCU 采用高性能F746,可以运行复杂算法

       操作系統和文件系统都是ST库文件提供,方便开发采用和Pixhawk一样的开源协议BSD 3-clause,也即不可以用开源代码的“作者/机构的名字”或“原来产品的名字”莋市场推广不用担心项目会被盗用在商业领域。会在代码中注明开发者名字

       外围器件包括:GPS、遥控、数传、SD卡、电调、电机、LED、超声波定高、防撞传感器、智能电池、显示屏。

   体会到开源的乐趣深入的了解四旋翼的结构特点。了解控制算法姿态解算,学习到国内外高质量论文并获得解读得到各个控制算法和姿态解算的Matlab仿真源文件和对应的C文件,学会飞行数据分析处理和大家一起共同学习,共同進步收获到温暖与自信。

      只要你愿意通过开源来和大家一起共同进步且满足以下任意条件:

  • 熟悉开源和盗用的相关法律政策

我要回帖

更多关于 开源项目 的文章

 

随机推荐