做為一個程序員,接觸過很多開源項目,同時對它們使用的license比較關注,比較有代表性license的特點:
BSD - 沒有限制。
LGPL - 在物理上保持獨立(即不可以靜態鏈接)。
GPL - 程序中用了GPL的東西,你的程序其它相關部分也要GPL。
其開源的共同點是:
尊重它的著作權及其完整性,你修改了它的話必須注明并指明它的原始版本所在,同時你所做的修改應該(不強制)回饋開源社區。
使用以上開源代碼的程序只是自已(包括公司)用而不分發給第三方(用戶)使用的話,可以不開源,一旦分發:
GPL要求你也必須按GPL協議發布你的產品,強迫你也GPL開源(GPL的傳染性),另兩者就沒有這種要求了。
因此做為一個程序員,對于使用BSD協議的東西可以毫無顧忌地使用;
對于使用LGPL協議的東西則可放心使用,發布時多帶幾個dll不會死人。
而對于GPL,就要想一想了,這個協議比較復雜,有很多例外,就像稅務制度,你可以繳稅、逃稅、避稅,商用前好好研究一下它,
另外感覺上使用GPL協議的東西精品非常多,看源碼的首選,可能是因為一些商用項目付lincense費的緣故,資金充足,
管理文檔等比較正規,便宜沒好貨這句話還是有道理的。