争议性高的议题，各方人士有不同的立场。的主要争议点是在软体专利中，受保护不得复制的部分是其演算法还是其用到的技术。
软件开发.软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉，需求分析，设计，实现和测试的系统工程，其中可能包括研究、新的开发工作、修改、复用、重新设计（再工程）、维护，或者任何最终获得软件产品的其他活动。软体开发过程是指软体从起始到完成过程中如何进行计划、控制和监控的模型。有以下不同的几种：
编程工