如何开始制作一个非免费的应用程序?

我想知道在Ubuntu下如何制作一个非免费的应用程序。
作为一个开源程序员,我发现即使是最简单的程序,我也要使用开源库,这样我才能合法地使用它们,前提是我的程序必须是自由和开源的。
所以,我想知道,为了开发一个非免费的应用程序,你需要自己编写所有要使用的库,不能有开源依赖等等吗?
1个回答

这并不完全正确。只有GPL许可证和几个相关的许可证是“copyleft”,强制你将基于GPL软件构建的软件开源。然而,你可以自由地使用例如LGPL库。事实上,LGPL是专门为此目标而创建的——使用共享开源LGPL库创建闭源应用程序。此外,根据BSD或类似BSD的许可证(例如Python),你可以基本上按原样使用并随心所欲地处理它。
换句话说,开源并不强制开源。此外,开源并不意味着“免费如啤酒”。你完全可以为开源程序收费,或者创建一个开源程序,但在销售数据时要求付费(例如媒体文件或与该程序相关的资源)。
总结一下:
- 类似BSD的许可证允许你自由修改和分发代码; - LGPL(较宽松的GNU公共许可证)允许创建与开源共享库链接的专有代码。例如,整个glibc就是LGPL许可的; - GPL许可证强制你在GPL程序的任何修改下发布为GPL。
因此,你可以愉快地编写你的程序,将其链接到各种库甚至直接整合外部代码片段,编译并以专有的、闭源的形式销售,只要你不分发修改过的GPL许可的程序。