มีเรื่องสงสัย(ไม่ค่อยเข้าใจ) ยกตัวอย่างเช่น LGPL
ถ้าเอามา project นั้นๆมาใช้แล้วต้องการแก้บ้าง (สมมุติเฉยๆนะ) นิดหน่อย (หรือแก้เยอะนิดหน่อย)
เช่น
byte[] bytes = ...;
bytes = Foo.Bar(bytes);
แก้เป็น
byte[] bytes = ...;
byte[] newBytes = Foo.Bar(bytes);
แล้ว build library นี้ใหม่
คือ เราจะต้อง open source project นี้ใหม่ หรือต้องเผยแพร่ยังไง
สงสัยว่า license นี่มันเป็นจริยธรรม หรือว่า มีผลทางกฎหมายด้วย
license พวกนี้มีผลทางกฎหมายครับ แต่ในเมืองไทยนี่ไม่แน่ใจเหมือนกัน กรณีของ CreativeCommons ก็เห็นว่าต้องมีกระบวนการ port เป็นภาษาไทยกันก่อน
pittaya.com
ในกรณีของ Creative Commons เข้าใจว่าเป็นการ port ให้มั่นใจว่าสัญญามัน compatible กับกฎหมายแต่ละประเทศ ก็น่าคิดว่า ถ้าไลเซนส์ที่ไม่ port จะมีปัญหาไม่เข้ากับกฎหมายไหม
และที่สงสัยต่อคือ ถ้าสมมติว่าศาลตัดสินว่าสัญญานี้ไม่มีผลบังคับใช้ มันจะต้องแปลว่า การอนุญาตให้นำไปใช้นั้นไม่เคยเกิดขึ้นหรือเปล่า?
มันมีข้อที่ว่า ถ้าบังคับใช้ไม่ได้ ให้บังคับข้อที่เหลืออยู่อะครับ แต่ไม่รู้ว่าจะช่วยรึเปล่า
เอาตามที่ผมเข้าใจนะครับ ถ้ามีการแก้ lib แล้ว จะถือว่าตัว lib เป็นตัวใหม่ไม่ใช่ตัวเดิม แต่ด้วยความที่ lib เดิมผูกกับ LGPL ไว้ตัว lib ใหม่ก็ต้องเป็น LGPL ด้วยครับ (และต้องเปิดซอร์สเฉพาะส่วนของ lib)
อ้อ license มีผลตามกฎหมาย ถ้าละเมิดอาจจะถูกฟ้องได้ครับ
ผมก็อ่านมาเยอะนะครับแต่ก็ยังงงๆ กับ License พวกนี้มาก
ถ้าเข้าใจไม่ผิด LGPL มันหยวนนิครับ เปิดซอร์สแค่ lib อันที่เราแก้พอ ไม่ต้องเปิดโปรแกรมที่เรียกใช้
+1
และสำหรับใครอยากรู้เพิ่มผมไปค้นกระทู้เก่ามา (ใช้ Google ค้นก็เจอ)
มันไม่ง่ายเลยที่จะทำ GIF ให้มีขนาดน้อยกว่า 20kB
^
ตามที่ผมเข้าใจถ้าแก้จากของเก่าถือว่าเป็น derivative work คือต้องเป็น LGPL เพราะว่าเป็นงานที่ได้จากการแก้ไขของเก่า
ไม่งั้นเอามาแก้แค่บรรทัดเดียวก็จบสิครับ