Có thể viết lại mọi dòng của một dự án nguồn mở theo một cách hơi khác và sử dụng nó trong một dự án nguồn đóng không?


122

Có một số mã là GPL hoặc LGPL mà tôi đang xem xét sử dụng cho một dự án iPhone.

Nếu tôi lấy mã đó (JavaScript) và viết lại bằng ngôn ngữ khác để sử dụng trên iPhone thì đó có phải là vấn đề pháp lý không?

Về lý thuyết, quá trình đã xảy ra là tôi đã trải qua từng dòng của dự án, học những gì nó đang làm và sau đó thực hiện lại các ý tưởng bằng một ngôn ngữ mới.

Đối với tôi có vẻ như điều này giống như học cách thực hiện một cái gì đó, nhưng sau đó thực hiện lại nó một cách riêng biệt với giấy phép ban đầu. Do đó, bạn chỉ sao chép thuật toán, có thể bạn đã học được từ một nơi khác ngoài dự án ban đầu.

Giấy phép có bao gồm việc thực hiện cụ thể hoặc thuật toán không?

BIÊN TẬP------

Thực sự vui mừng khi thấy chủ đề này tạo ra một cuộc trò chuyện tốt. Để cung cấp thêm một chút sao lưu cho dự án, mã liên quan thực hiện một số loại phân tích âm thanh. Tôi tin rằng việc học hoặc thực hiện là không tầm thường, mặc dù tôi đã sẵn sàng bắt tay vào nhiệm vụ này (Tôi ở cấp độ mà tôi có thể thực hiện thuật toán FFT và điều này sẽ vượt xa điều đó.) kịch bản LỘC thấp , vì vậy tôi không nghĩ rằng quá khó để thực hiện một cổng thẳng.

Tôi thực sự thích ý tưởng phát hành lại cổng của mình cũng như sử dụng nó trong ứng dụng. Tôi không thấy bất kỳ vấn đề nào với điều đó, và đó sẽ là một cách tuyệt vời để cung cấp một cái gì đó cho cộng đồng.

Tôi sẽ thêm một dòng về việc không muốn thảo luận về các vấn đề đạo đức, nhưng tôi khá vui vì tôi đã không làm như vậy vì nó dường như đã nổ ra cuộc tranh luận một chút.

Tôi vẫn cảm thấy một chút kỳ lạ về việc sử dụng mã nguồn mở để học hỏi. Điều này có nghĩa là bất cứ điều gì một người học được từ một dự án nguồn mở đều không được phép sử dụng trong một dự án nguồn đóng? Và sau bao lâu hoặc khác nhau, việc thực hiện phải như thế nào để không bị coi là vi phạm giấy phép? Âm u!

CHỈNH SỬA 2 --------

Theo dõi câu hỏi


27
Tôi thực sự muốn đi đến tận cùng của một câu hỏi khác, "Nếu bạn học một thuật toán từ một chương trình nguồn mở và thực hiện lại thuật toán, bạn đã vi phạm giấy phép chưa?" Tôi đang hỏi điều này từ quan điểm pháp lý, không phải là một vấn đề đạo đức. Nhưng ngay cả từ quan điểm đạo đức, đó không phải là một hình thức học tập hợp pháp? Chúng ta không được phép sử dụng bất kỳ học tập nào được thu thập từ các dự án nguồn mở? Điều này dường như đi ngược lại quan điểm của chính GPL?
Chris Barry

8
@optician Vấn đề là bạn muốn dịch nó theo từng dòng, điều này rõ ràng làm cho nó trở thành một tác phẩm có nguồn gốc, giống như một bản dịch giữa các ngôn ngữ của con người. Ý tưởng không được bảo vệ bởi bản quyền, thay vào đó nó có thể được bảo vệ bởi một bằng sáng chế. Nhưng hãy cẩn thận, IANAL.
starblue

3
Bình luận viên : ý kiến ​​có nghĩa là để tìm kiếm làm rõ, không phải để thảo luận mở rộng. Nếu bạn có một giải pháp, hãy để lại một câu trả lời. Nếu giải pháp của bạn đã được đăng, xin vui lòng nâng cấp nó. Nếu bạn muốn thảo luận câu hỏi này với người khác, vui lòng sử dụng trò chuyện . Xem FAQ để biết thêm thông tin.

2
@optician Hệ thống Stack Exchange không phải là một bảng thảo luận, trong đó mỗi bài đăng là một chủ đề có thể thay đổi hướng theo thời gian: nếu bạn có một câu hỏi khác mà bạn muốn nhận trợ giúp, hãy hỏi một câu hỏi khác. Mặt khác, vui lòng chỉnh sửa câu hỏi của bạn để làm rõ nếu câu trả lời bạn nhận được không giải quyết đầy đủ vấn đề ban đầu của bạn.

2
Tôi đang bỏ phiếu để đóng câu hỏi này ngoài chủ đề vì đó là về các vấn đề pháp lý.
Robert Harvey

Câu trả lời:


257

Tôi không phải là một luật sư. Đây không phải là tư vấn pháp lý.

Điều đó nói rằng, lấy từng dòng của một ứng dụng và thay đổi nó một chút cho mục đích duy nhất là lách luật bản quyền là rõ ràng, tạo ra một tác phẩm có nguồn gốc mà không có sự bảo vệ chính đáng nào. Ngay cả thẩm phán và bồi thẩm đoàn khó tính nhất cũng sẽ chống lại bạn nếu bạn bị kéo vào tòa án.

Cũng giống như so sánh: các công ty cần viết lại một cái gì đó để có khả năng tương tác thường thuê các nhóm người khác nhau để hiểu nguồn và tạo cổng ("triển khai phòng sạch"), để không ai có thể buộc tội họ tạo ra nguồn gốc công việc. Những gì bạn đề xuất là hoàn toàn ngược lại.


25
Tôi ước tôi có thể cho bạn +10 ...
Marjan Venema

5
Đó là "nếu" nó đã từng ra tòa.
Queue Hammer

5
Nếu phần mềm thành công ở tất cả, rất có thể nó sẽ kết thúc tại tòa án vào một lúc nào đó.
Justin C

4
@optician: Thực sự phụ thuộc vào mức độ bạn có thể tạo lại bản gốc, thực sự, và đó là loại câu hỏi bạn cần một luật sư trả lời.
David Thornley

5
@DavidStone Bạn có nó ngược. Bạn phải hiểu rằng một thuật toán logic và một biểu thức cụ thể của thuật toán trong mã là riêng biệt về mặt pháp lý; chỉ có biểu hiện là có bản quyền. Nhóm thực hiện lại không có liên hệ với biểu thức gốc của thuật toán (họ chỉ thấy tài liệu nội bộ về thuật toán logic) và biểu thức bằng văn bản của họ có thể sẽ khác với biểu thức ban đầu, vì vậy rất khó có khả năng họ có thể vi phạm bản quyền. Tuy nhiên, họ có thể vi phạm bằng sáng chế một cách dễ dàng, vì thuật toán logic của họ giống hệt với bản gốc.
apsillers

72

Theo Betsy Rosenblatt của Khái niệm cơ bản về bản quyền của Trường Luật Harvard :

Những gì cấu thành vi phạm bản quyền?

Theo các biện pháp phòng vệ nhất định, đó là hành vi vi phạm bản quyền đối với người nào đó không phải là tác giả thực hiện những điều sau mà không có sự cho phép của tác giả:

  1. sao chép hoặc sao chép công việc
  2. tạo một tác phẩm mới bắt nguồn từ tác phẩm gốc (ví dụ: bằng cách dịch tác phẩm sang ngôn ngữ mới, bằng cách sao chép và làm biến dạng hình ảnh hoặc bằng cách chuyển tác phẩm sang một phương tiện biểu đạt mới)
  3. bán hoặc cho đi tác phẩm, hoặc một bản sao của tác phẩm lần đầu tiên (nhưng một khi tác giả đã làm như vậy, quyền bán hoặc cho đi vật phẩm được chuyển cho chủ sở hữu mới. Đây được gọi là "lần đầu tiên bán "học thuyết: một khi chủ sở hữu bản quyền đã bán hoặc cho đi tác phẩm hoặc bản sao của nó, người nhận hoặc người mua có thể làm theo ý mình với những gì cô ấy đặt ra.) 17 USC §109 (a).
  4. thực hiện hoặc hiển thị tác phẩm ở nơi công cộng (quyền này không áp dụng cho nghệ thuật thị giác) mà không có sự cho phép của chủ sở hữu bản quyền. 17 USC §106. Đây cũng là hành vi vi phạm bản quyền để vi phạm "quyền đạo đức" của một tác giả theo quy định của 17 USC 106A. Quyền đạo đức được thảo luận tại địa điểm này.

Có vẻ như tôi đang vi phạm mục số 2 ở trên.

Tuy nhiên, tôi nghĩ thuật ngữ là một vấn đề lớn ở đây. Bạn nói, "Nếu tôi lấy mã đó (javascript) và viết lại bằng ngôn ngữ khác để sử dụng trên iPhone thì đó có phải là vấn đề pháp lý không?" (nhấn mạnh của tôi). Viết lại một cái gì đó có thể hoặc không thể khác hơn là sao chép. Ví dụ, nếu bạn nhìn vào Mona Lisa, sau đó đi vào phòng thu của riêng bạn và vẽ những gì bạn nhớ về nó, thì dường như tôi đang tạo ra một tác phẩm gốc là biểu hiện của bạn về cách bạn cảm nhận bản gốc. Tuy nhiên, nếu bạn có một bản sao Mona Lisa trong studio của mình và bạn đã vẽ một bản sao của nó, thay vì những gì bạn nhớ, thì tôi nghĩ bạn chắc chắn đang sao chép.

Theo cùng một cách, nếu bạn sử dụng MS Word và thậm chí nếu bạn nhìn vào một số mã, sau đó bạn đi và viết trình xử lý văn bản của riêng bạn có sự tương đồng về chức năng, tôi tin rằng có những trường hợp đã quyết định rằng "hãy nhìn & cảm thấy "không có bản quyền. (Tất nhiên điều này không nói gì về bằng sáng chế.)

Bạn có lẽ nên hỏi một luật sư (vì tôi không phải là một).

Ý kiến ​​cá nhân của tôi là "cổng" là một tác phẩm xuất phát và do đó bạn phải phát hành mã được chuyển trong cùng một giấy phép.


1
cũng có vấn đề chứng minh điều đó. Nếu bạn đã xem mã nguồn của Word, sau đó viết trình xử lý văn bản của riêng bạn ... bạn sẽ gặp khó khăn khi chứng minh rằng bạn đã không sao chép bất cứ điều gì.
gbjbaanb

6
@gbjbaanb: Tùy thuộc vào Microsoft để chứng minh bạn đã làm , không phải cách khác, ở hầu hết các quốc gia. Không thành vấn đề, bởi vì nếu Microsoft kiện bạn, bạn sẽ bị lừa trừ khi bạn có thể có được một công ty lớn để đưa bạn lên đỉnh cao. :-) Và nếu bạn có quyền truy cập vào mã nguồn Word, tỷ lệ cược là khá tốt bạn đã đăng ký một cái gì đó nói rằng bạn sẽ không viết bất cứ điều gì để cạnh tranh với nó anyway ...
TJ Crowder

3
Thay vì viết 'ở đây', bạn nên đặt tên cho tác giả: 'Betsy Rosenblatt, Trường Luật Harvard'.
Nicolai Reuschling

3
@Nicolai Reuschling: lol :)
Scott Whitlock

4
@TRiG: "Tôi không biết tại sao bạn nghĩ điều đó buồn cười." - Có lẽ đó là vì bạn không có cảm giác trớ trêu. ;)
Scott Whitlock

55

Tôi không phải là luật sư, đây không phải là tư vấn pháp lý và nếu bạn dựa vào những gì tôi nói trong bất kỳ loại cam kết đáng ngờ nào (1) bạn là một thằng ngốc và (2) tôi từ chối mọi trách nhiệm. Đây là những gì tôi đã nghe và đọc trong nhiều năm qua từ những người dường như biết.

Các thẩm phán không chơi các trò chơi "trên lý thuyết". Họ không thích những người tạo ra các cách để vặn vẹo luật có thể chấp nhận được về mặt phân tích logic nhưng trái với mục đích rõ ràng và cách các thẩm phán đã phán quyết trong quá khứ. Đừng bao giờ cố gắng quá thông minh về luật nếu có bất kỳ cơ hội nào bạn sẽ ở trong phòng xử án để bảo vệ sự giải thích của bạn.

Người ta thường chấp nhận rằng lấy một cuốn tiểu thuyết và làm một bộ phim từ nó hoặc dịch nó sang ngôn ngữ khác đang tạo ra các tác phẩm phái sinh, và đó là những biến đổi lớn hơn nhiều so với bạn đang nói, và đòi hỏi sự sáng tạo lớn hơn nhiều. Hãy nhìn vào những ví dụ đó; Một thẩm phán chắc chắn sẽ.

Ở Mỹ, đã có trường hợp sao chép một chương trình lỏng lẻo hơn bạn đang nói về việc bị vi phạm. Ở Mỹ, hy vọng những thứ đó sẽ được sử dụng làm tiền lệ.

Nói cách khác, bạn sẽ bắt đầu một doanh nghiệp thương mại trên cơ sở sẽ bị phát hiện là bất hợp pháp nếu có ai bận tâm tìm kiếm. Không phải là một ý tưởng tốt.

Hơn nữa, nếu bạn có bất kỳ sự tôn trọng nào đối với ý tưởng về bản quyền, hoặc bất kỳ sự kiểm soát nào mà tác giả có thể có đối với những gì anh ấy hoặc cô ấy xuất bản, bạn đang bị đạo đức giả. Mã nguồn đã có sẵn để bạn sử dụng trong các điều kiện nhất định. Bạn đang vi phạm pháp luật và ý định rõ ràng của tác giả.

Bây giờ, các thuật toán không thể có bản quyền. Ở Mỹ, các tòa án đã phán quyết rằng không thể giữ bản quyền một ý tưởng và bất cứ điều gì thông thường có bản quyền là cách duy nhất để thể hiện một cái gì đó không có bản quyền. Do đó, bạn chắc chắn có thể sử dụng thuật toán.

Có một cách để sao chép thuật toán không có bản quyền: phương pháp "phòng sạch", trong đó một người hoặc nhóm nghiên cứu mã nguồn và tạo mô tả về thuật toán (với càng ít chi tiết triển khai càng tốt) và một người khác hoặc nhóm viết mã mới mà không có bất kỳ tham chiếu nào đến nguồn ban đầu. Càng đến gần, bạn càng an toàn.

Bạn cũng có thể muốn xem xét rằng, bằng cách đăng câu hỏi tại đây, bạn đã xuất bản ý định vi phạm bản quyền, ở dạng có thể được truy ngược lại cho bạn nếu có ai có quyền hợp pháp để làm như vậy (chẳng hạn như khám phá trong một vụ án dân sự, hoặc điều tra của cảnh sát đơn giản nếu đây là một vụ án hình sự).


18
+1 Đối với "Bạn cũng có thể muốn xem xét điều đó, bằng cách đăng câu hỏi tại đây, bạn đã xuất bản ý định vi phạm bản quyền".

6
+1 Đối với phương pháp "phòng sạch" - Tôi luôn tự hỏi làm thế nào nó hoạt động.
DMan

Tôi vừa đăng lên diễn đàn tác giả với tình huống này là gì và sẽ đăng kết quả ở đây.
Chris Barry

Làm thế nào là một thuật toán một ý tưởng và một chương trình không phải là một ý tưởng? Hoặc, làm thế nào là một chương trình không phải là một tập hợp các thuật toán?
Xe tay ga

16

Tại sao bạn không chỉ mở nguồn cổng của mình và để phần còn lại của dự án là nguồn đóng?

Để trích dẫn một câu trả lời khác của tôi:

Nguồn mở hoạt động, bởi vì nó là một cộng đồng. Vì nó là tương hỗ. Bạn không nhận được tiền bằng cách viết mã nguồn mở. Bạn nhận được tiền bằng cách tiêu thụ mã nguồn mở. Vậy tại sao bạn viết mã nguồn mở? Để trả lại một cái gì đó.

Nhưng theo quan điểm thực tế hơn:
Nếu mã bạn chuyển thực sự hữu ích đến mức bạn nghĩ rằng bạn nên bảo vệ nó để duy trì lợi thế (mà bạn không có, bởi vì những người sử dụng Appcelerator có thể sử dụng nó ngay lập tức), sẽ có là một cổng nguồn mở sớm hay muộn. Nó sẽ được duy trì bởi một số người, nó sẽ được sử dụng và do đó được thử nghiệm bởi nhiều người hơn nữa và nó sẽ được cải tiến hơn nữa để kết hợp các nguyên tắc được thúc đẩy bởi ngôn ngữ đích và giao diện tốt hơn với các khung phổ biến trên nền tảng của bạn. Sớm hay muộn mã của bạn sẽ trông giống như một mẩu tin tào lao so với nó.
Nguồn mở trong thực tế là cơ hội của bạn để luôn đứng đầu. Đó là đôi bên cùng có lợi. Nếu bạn may mắn, bạn thậm chí sẽ nhận được các nhà bảo trì cho mã đó và có thể tập trung vào logic ứng dụng của bạn, đó là điều thực sự làm cho sản phẩm của bạn trở nên độc đáo.


1
+1 Một số mã tốt nhất hiện có là Nguồn mở. Nhưng tôi có thể thấy việc thêm mã GPL vào một dự án thương mại có thể là một trở ngại lớn hơn khi điều đó có nghĩa là mở nguồn cho toàn bộ sản phẩm.
Alex Jasmin

2
Mã GPL bị cấm trong các ứng dụng iOS theo các điều khoản cấp phép của Apple, theo như tôi hiểu.
Andrey Tarantsov

2
Chà, có vẻ như một điều khoản trong Apple ToS mâu thuẫn với một điều khoản trong GPL, vì vậy trong khi không bị cấm, chúng dường như không tương thích.
Vatine

1
Nếu ToS của Apple mâu thuẫn với GPL, việc có bản quyền sẽ cho phép bạn phát hành nó theo nhiều giấy phép hơn, một lần theo giấy phép tương thích với Apple ToS nhưng cũng theo GPL.
Pieter B

8

Tôi không phải là một luật sư, tôi thậm chí không chơi một cái nào trên TV.

Nhưng tôi nghĩ vấn đề ở đây là phái sinh. Nếu công việc mới của bạn bắt nguồn từ công việc GPL hoặc LGPL, thì công việc đó phải tuân thủ các yêu cầu của GPL hoặc LGPL. Công việc của bạn rõ ràng sẽ là phái sinh, ngay cả khi bạn viết lại hoàn toàn từng dòng trong một ngôn ngữ khác.


Có, nhưng điều đó có nghĩa là bạn không được phép sử dụng thuật toán đó nữa? Có phải thực tế là bạn đã thấy nó được triển khai trong một dự án khác cấm bạn sử dụng thuật toán đó, trừ khi bạn có thể chứng minh rằng bạn có kiến ​​thức để tự mình tìm ra thuật toán thông qua các con đường học tập khác?
Chris Barry

4
Tôi cũng không phải là một luật sư nên tôi chỉ đoán thôi. Tôi sẽ không sử dụng các từ "xuất phát từ" nếu bạn đã viết triển khai thuật toán của riêng mình bằng ngôn ngữ khác. Tôi không nghĩ GPL được tạo ra như một hệ thống bằng sáng chế bí mật.
Thuyền trưởng Sensible

1
@Seventh - bạn nên đăng ký nhãn hiệu "Hệ thống bằng sáng chế" và cấp bằng sáng chế cho khái niệm này.
Mayo

2
Các thuật toán không có bản quyền. Đối với mục đích của luật bản quyền, việc lặp lại một thuật toán là không thể thực hiện được. Vấn đề là chương trình của bạn có xuất phát từ văn bản gốc hay không; đó có nghĩa là tên biến, bố trí mã vv (luật sáng chế, tuy nhiên, có thể có hoặc không áp dụng ngay cả với các thuật toán.)
Kilian Foth

1
Giấy phép bao gồm việc thực hiện không phải là thuật toán chính nó. Chuyển việc thực hiện sang ngôn ngữ khác là một công việc phái sinh giống như cách chuyển Harry Potter sang tiếng Tây Ban Nha. Bạn có thể tự do thực hiện thuật toán theo cách riêng của bạn. Tôi khuyên bạn không nên sao chép / dán và tìm hiểu thuật toán bạn muốn thực hiện và viết phiên bản của riêng bạn từ đầu. IANAL.
Dave Rager

5

Như những người khác nói, đây có thể là công việc phái sinh và do đó vi phạm trực tiếp các điều khoản GPL nếu bạn chọn thực hiện "tách biệt với giấy phép ban đầu" (tôi cho rằng điều đó có nghĩa là bạn sẽ xóa GPL và sử dụng một thứ khác, thậm chí là nguồn đóng) .

Ngay cả khi nó trượt là "hợp pháp", nó rõ ràng là vô đạo đức . Tác giả của phần mềm GPL'd đã chọn một giấy phép như vậy mở rộng các quyền tự do lên các tác phẩm phái sinh. Dù đó là điều tốt hay xấu, đó là ý định của tác giả và bạn nên tôn trọng điều đó . Họ đưa cho bạn mã để đọc và sửa đổi, fork và bất cứ điều gì, chỉ yêu cầu đổi lại rằng bạn không thay đổi các điều kiện. Cũng có khả năng là bạn sẽ không phải trả tiền cho chính phần mềm này.

Tôi biết tiền rất khó, nhưng trong hình thức này khi bạn vẽ ra ý tưởng của mình, nó đã ăn cắp. Chắc chắn, bạn có thể đã học được thuật toán đó hoặc bất kỳ chi tiết triển khai nào từ một nguồn khác, nhưng bạn đã không làm như đã nói.

Nếu đạo đức không liên quan đến bạn, thì hãy nhớ rằng với bản chất pháp lý màu xám của những gì bạn đang làm (hoặc sắp làm), rất có thể các tác giả ban đầu sẽ liên hệ với Apple vì vi phạm bản quyền. Cho đến nay, Apple đã nhanh chóng loại bỏ phần mềm như vậy đã vi phạm GPL. Một khả năng khác là một vụ kiện.

Nếu tôi là bạn, tôi sẽ xem xét GPL trong công việc của chính mình (đó không phải là điều xấu!) Hoặc có được kiến ​​thức bằng các phương tiện khác.


Có vẻ như có những ứng dụng là GPL (ứng dụng wordpress?). Bạn có nói rằng không ổn khi sử dụng một dự án nguồn mở để tìm hiểu một thuật toán?
Chris Barry

Không, tôi không nói như vậy. Tôi đã đề cập đến ý tưởng của OP về việc dịch các dòng giống nhau sang một ngôn ngữ lập trình khác. Bây giờ, việc phái sinh kết thúc ở đâu và tác phẩm gốc bắt đầu từ đâu? Đây không phải là một câu hỏi dễ, nhưng tôi khá chắc chắn rằng chỉ thực hiện lại cùng một thuật toán mà không cần sửa đổi là công việc phái sinh.
Tamás Szelei

Vâng, đó không phải là một câu hỏi dễ. Cũng thật thú vị khi biết bao nhiêu thay đổi sẽ đủ để không phạm pháp. Thay đổi tên khả thi, khoảng trắng? Nó cảm thấy hơi ngớ ngẩn vì những thứ đó sẽ rất dễ thay đổi, đặc biệt là nếu bạn hiểu mã và do đó có thể tạo ra các tên thay thế tốt.
Chris Barry

Mã BTW được nhận xét tốt, vì vậy thật dễ dàng để lấy những gì nó đang làm.
Chris Barry

Vâng chỉ sử dụng thông thường. Bạn, như một lập trình viên, nghĩ rằng thay đổi tên khoảng trắng và tên biến là một thay đổi đủ? Cuối cùng (trong trường hợp cạnh thực tế) tòa án sẽ quyết định về tính hợp pháp.
Tamás Szelei

5

Còn về việc cố gắng làm điều đúng đắn và không ăn cắp ý tưởng của ai đó thì sao? Bạn có thể chỉ cần gửi email cho người tạo mã và hỏi xem bạn có thể căn cứ vào các phần của dự án của bạn không. Nhiều người sẽ không có vấn đề với điều đó. Nếu họ có vấn đề với nó, thì thậm chí đặt vấn đề pháp lý sang một bên, tại sao bạn lại muốn làm mờ danh tiếng của mình như một chuyên gia trong cộng đồng? Thực tế là câu hỏi này được đặt ra ít nhiều là "Tôi có thể thoát khỏi điều gì?", Trái ngược với "Tôi nên làm gì?" là một chút rắc rối.

Tóm lại, hãy hỏi người (hoặc người) đã viết mã .


2
Tác giả đã được hỏi và tôi sẽ đăng kết quả ở đây.
Chris Barry

5

Tôi cũng không phải là một luật sư. Nếu bạn lo lắng liệu đây có phải là vấn đề pháp lý hay không thì có lẽ bạn không nên hỏi câu hỏi này và chỉ viết cho riêng bạn.

Ý kiến ​​cá nhân của tôi về vấn đề này:

Nếu bạn đang lấy mã javascript và viết lại bằng một ngôn ngữ khác, đó được gọi là porting và được coi là một công việc phái sinh. Nếu bạn đang viết phiên bản phần mềm của riêng mình và sử dụng mã javascript làm tài liệu tham khảo để tìm hiểu cách các thuật toán nhất định hoạt động thì có lẽ bạn sẽ ổn.

Tôi sẽ đứng về phía hỏi luật sư.

Là một phụ lục , luật bản quyền cho phép bạn về cơ bản KHÔNG NÊN [*] với mã nguồn được xuất bản ngoài việc đọc nó. Giấy phép theo đó chủ sở hữu bản quyền đã phát hành cho phép bạn một số đặc quyền bổ sung không được cung cấp bởi luật bản quyền. Lấy và sử dụng mã theo những cách không được phép trong giấy phép không khác gì lấy và sử dụng bất kỳ tác phẩm có bản quyền nào được bảo vệ theo luật bản quyền mà không có sự cho phép của tác giả.

[*] Với ngoại lệ cho sử dụng hợp lý.


1
Nếu đó là GPL, bạn có thể làm nhiều hơn là đọc nó. Bạn có thể thực hiện các công việc phái sinh miễn là các công cụ phái sinh đó cũng là GPL.
Zhehao Mao

Đúng là đúng.
Dave Rager

4

Không. Đó không phải là đạo đức. Nó gần như chắc chắn là bất hợp pháp. Và nếu tôi từng xem xét một ứng dụng công việc từ một người đã làm điều đó, nó sẽ được nộp với định kiến ​​cực đoan.


Vì vậy, bạn đang nói rằng việc học cách triển khai một cái gì đó từ một dự án nguồn mở là không đạo đức?
Chris Barry

4
@Chris: Không hợp lý khi tạo ra một tác phẩm xuất phát từ một dự án nguồn mở và phát hành nó để bán, trái với ý định của tác giả như được cấp phép. Nếu bạn không thể tuân thủ giấy phép, và thay vào đó đang đi vòng quanh nó ... ew.
Paul Nathan

1
Tôi không cố gắng tránh giấy phép (tại sao tôi lại đặt câu hỏi), nhưng tôi tự hỏi tình huống liên quan đến những vấn đề như thế này là gì. Có giới hạn thời gian hoặc số lượng chênh lệch giữa hai phần công việc sẽ ngăn nó trở thành một tác phẩm xuất phát không? Mặt khác, dường như người ta không thể sử dụng kiến ​​thức được học từ việc nghiên cứu mã nguồn mở?
Chris Barry

không thể ngăn bạn bán một ứng dụng dựa trên mã nguồn mở. Trong thực tế, định nghĩa về nguồn mở (được đưa ra bởi Sáng kiến ​​nguồn mở) cho phép rõ ràng điều này. Nhưng bạn cần tuân thủ giấy phép, đó là vấn đề nan giải của OP. Các điều khoản của App Store và xung đột GPL, đó là vấn đề ở đây.
Martin Vilcans

2

Luôn luôn mã như thể người cuối cùng duy trì mã của bạn sẽ là một kẻ tâm thần bạo lực, người biết bạn sống ở đâu. ~ Martin Golding

Tôi không phải là luật sư, vì vậy tôi sẽ không trả lời như một. Bên cạnh đó, rất nhiều người không phải là luật sư khác đã đưa ra những suy nghĩ của họ về sự phân nhánh hợp pháp của ý tưởng của bạn. Và tôi sẽ bỏ qua cuộc tranh luận về đạo đức / đạo đức.

Nếu tôi là bạn, tôi sẽ quan tâm nhiều hơn đến việc phân nhánh với tư cách là nhà phát triển. Đó là một điều tôn trọng. Tự trọng, đặc biệt.

Chắc chắn, tất cả chúng ta đều đi săn tìm "Làm thế nào d'ya {triển khai} trong {đặc điểm kỹ thuật}?" theo thời gian. Đó là nơi Stack đến từ đâu, amirite? Và đó là cách tất cả chúng ta tìm thấy ở đây, phải không? Đó không phải là điều tôi đang nói bởi vì đó không phải là điều bạn đang nói.

Nếu tôi kết hợp đột quỵ của thiên tài + nỗ lực anh hùng = kết quả đáng để trình bày cho cộng đồng nhà phát triển như một sản phẩm nguồn mở ngay từ đầu và mọi người thích nó đủ để sử dụng nó, tôi sẽ bỏ qua sự tâng bốc. Tôi sẽ có thời gian tuyệt vời. Giống như John Reisig, hoặc Câu chuyện Mark. Ôi nhỏ tôi. Và sau đó, một số khối đã xuất hiện và ghi chi tiết đóng góp của tôi để họ có thể cung cấp nó thương mại hoặc bản địa nó vào ứng dụng thương mại của họ? Đi chết đi.

Mã giống như chữ viết tay. Bạn không thể thay đổi một ứng dụng lớn hơn hộp diêm đủ đáng kể để một nhà phát triển hợp pháp khác không thể khác biệt hai bên cạnh nhau và nói "Đợi một chút ..." Là một nhà phát triển, tôi sẽ rất xấu hổ về khả năng các đồng nghiệp của mình , đồng nghiệp của tôi, những người tôi tôn trọng và người mà tôi khao khát, sẽ phát hiện ra tôi đã lấy mã của ai đó. Tôi sẽ trở thành trò cười. Vì đó là một số bản sao sử thi kịch bản kiddie bs. Bạn có thực sự muốn ủy thác bản thân trong mắt bạn bè không? Mã jacking là một cách tốt để bắt đầu.

Và là một nhà phát triển, hãy xem xét điều này: nếu đó là ứng dụng của tôi và tôi phát hiện ra bạn đã kích hoạt nó đến mức bạn lo lắng về việc bị kiện, nếu tôi quyết định kiện bạn thì sao, bạn đang kiếm một đống tiền mặt dù sao cũng nhờ vào mã của tôi, vậy tại sao tôi không nên đánh bạn khi nó đau, có thể lấy lại một số thứ đó không? Làm thế nào để bạn BIẾT Tôi không phải là một thanh thiếu niên hoặc sở hữu một tính khí nóng nảy và một bộ kỹ năng đáng sợ? Đi ra khỏi đường của tôi đến pwn r00 [trên ur b0xen, có thể nói như vậy. Vì việc tải ứng dụng của tôi sẽ cho tôi thấy rằng tôi> bạn (cơ sở: Tôi có thể viết những gì bạn chỉ có thể kích hoạt). Đây không phải là lần đầu tiên.


2
Tôi thực sự thích câu trả lời này. Tôi nghĩ vấn đề là nếu bạn có thể sử dụng mã làm điểm học tập, và sau đó thực hiện lại điều đó. Tôi nghĩ rằng đó là về một kịch bản 200 ~ LỘC, vì vậy nó không phải là khó khăn. Tôi chỉ thực sự muốn bắt đầu từ một ví dụ làm việc cho việc học của mình, và vì vậy nó có vẻ có ý nghĩa để bắt đầu từ đó. Nếu tôi viết toàn bộ bằng mã psudo và GPL thì cổng của tôi sẽ đặt tôi vào vị trí hợp lý? Tôi thực sự nghĩ rằng tiêu đề của bài viết đã gây ra cuộc tranh luận nhiều hơn tôi mong đợi.
Chris Barry

Re: châm ngòi cho cuộc tranh luận, xem xét bản chất của câu hỏi: một nhà phát triển chuyên nghiệp đổ cả trái tim và tâm hồn vào nghề của cô ấy dù cô ấy có muốn hay không. Giờ của tôi, những giọt mồ hôi máu và nước mắt vì bản chất của phần mềm là trở thành một con thú. Và trên hết, nghề của chúng tôi rất khó khăn khi đóng góp thực sự tuyệt vời cho nguồn mở (js libs, php framework, v.v.) - vào thời điểm này, ai trong chúng ta không dựa vào nguồn mở để giữ đầu mình trên mặt nước, một cách chuyên nghiệp ? Vì vậy, câu hỏi như thế này là cá nhân sâu sắc cho tất cả chúng ta cho dù chúng ta có nhận ra nó hay không.
OpenSorceress

Điều đó nói rằng, tôi đã học được hầu hết những gì tôi biết từ các pháp sư nguồn mở như John Reisig và Mark Story và nhóm những đứa trẻ của họ. JQuery là người bạn nhỏ của tôi. CakePHP là bánh mì và bơ của tôi. Không có gì sai với điều này. Do đó, sự khác biệt giữa jacking và porting. Đây là những gì chúng ta đang nói về khi chúng ta nói, chúng ta đứng trên vai những người khổng lồ.
OpenSorceress

0

Bạn không thể tạo ra tác phẩm phái sinh của tác phẩm phái sinh của tác phẩm phái sinh ... và hy vọng nó không phải là tác phẩm phái sinh. Nó có thể trở nên không thể nhận ra, nhưng đó là một cái gì đó khác. Và bạn có thể bắt đầu từ bất kỳ văn bản nào và bằng cách thay đổi, hãy lấy bất kỳ văn bản nào (ví dụ: xóa cái đầu tiên, chèn cái thứ hai), để nó có thể không có nghĩa là nó đã được thực hiện. Vì vậy, điều quan trọng là liệu điều gì đó có thể xảy ra hay không, nhưng liệu điều đó có thực sự xảy ra hay không (rõ ràng là không thể xảy ra)

Nói một cách nghiêm túc: Học từ bất cứ điều gì bạn có thể (legaly) có được là được, nhưng bạn nên thừa nhận các nguồn. phần còn lại là tính hợp pháp.

IANAL, nhưng tôi sẽ không nghĩ mình đã làm gì sai, nếu: 1) Tôi đã học được từ triển khai nguồn mở 2) Thực hiện cùng một thuật toán (ngay cả trong cùng một ngôn ngữ) bằng cách thực hiện điều này, các phần lớn sẽ tự nhiên trở nên hoàn toàn khác, và một số sẽ thực sự tương tự Nếu những phần tương tự đó là những thứ mà cả hai bên theo cùng một thực hành mã hóa và do đó không thể khác nhau, thì những phần này không có bản quyền. Ví dụ. nếu lớp có hai trường Chuỗi riêng và chúng có getters và setters, chỉ có điều thú vị là lớp này có hai thuộc tính đọc / ghi, không triển khai getters và setters.


0

Nếu bạn viết lại từng dòng riêng lẻ, bạn có thể hoặc không thể "sao chép" các dòng đó.

Nhưng bạn đang sao chép nguyên văn thứ tự, cấu trúc tổng thể và bao gồm các dòng. Nói cách khác, loại công cụ làm cho tác phẩm trở thành một "tổng thể".

Bạn đang sao chép phần có nội dung "dòng này nên ở đây, dòng này sẽ ở đó". Đây là một phần lớn của thuật toán tổng thể.

Ngoài ra, khi một dự án được bắt đầu, không ai biết phải bao gồm những gì, những thứ được coi là quan trọng hơn hay ít hơn, cách cấu trúc và soạn thảo các thuật toán. Thông tin này cần được sản xuất và thiết kế tại một số điểm. Nhưng bạn sẽ không cần, bởi vì bạn sẽ "sao chép" nó.


Ví dụ:

Nếu tôi có một bộ {a, b, c, d, e, f}.

Tôi có thể tạo một danh sách theo thứ tự của chúng, [f, e, c, b, d, a]. Bạn phải nói rằng tôi đã thêm một số thông tin vào danh sách, được gọi là đặt hàng , không có trong tập hợp không có thứ tự. Tùy thuộc vào kích thước của danh sách, thông tin này có thể rất cụ thể và khó đưa ra.


-1

Nó giống như bất cứ điều gì khác - bạn không thể không học những gì bạn đã học, đã thấy, đã đọc ... nhưng điều bạn có thể kiểm soát là cách bạn sử dụng nó ...

Hai điều về vấn đề này -

  1. Giống như hầu hết các quy định về giấy phép cho Mã nguồn mở ... tạo ra một xu trên nó hoàn toàn tuyệt vời, làm cho nó "giả" được tiết lộ là tuyệt vời - nhưng vấn đề là "tín dụng". Tôi đã mua NHIỀU tập lệnh có 'tín dụng' được trao cho (url blog, mã hệ điều hành được sử dụng ..., v.v.) nhưng vấn đề là bạn có công khai (không che giấu) khi đưa tín dụng / danh tiếng cho sáng tạo của ai đó (một lần nữa, mọi người sẽ không phiền nếu bạn làm như vậy ... rất nhiều lần mọi người KHÔNG cấp tín dụng (do đó vi phạm quy định loại GPL) vì sợ mọi người nhận ra rằng họ có thể lấy nó ở một nơi khác ... nhưng nếu mã của bạn công khai cấp tín dụng và vẫn có thể đứng một mình (cho dù đóng góp mã của BẠN có bị đóng / mở hay không) - thì mọi người sẽ không quan tâm.

Những gì tôi tìm thấy với tư cách là một nhà phát triển là mọi người muốn không cung cấp tín dụng, làm cho nó đóng cửa để bắt chước một nhà phát triển / lập trình viên tuyệt vời, dưới chiêu bài kiếm tiền từ những nỗ lực của người khác ....

vì vậy tôi lạc đề đến # 2 ...

  1. "ý định" hầu như (hầu như) luôn luôn như vậy ... bạn có thể đứng trước một thẩm phán (nói rằng bạn đã bị kiện, đưa ra tòa hoặc yêu cầu giải thích hành động của bạn cho như vậy) và nói rõ mà không lầm bầm, và với sự khác biệt vị trí về vấn đề - tại sao bạn đưa ra quyết định ẩn / đóng phần 'nguồn mở' trong mã của mình, thì đây không phải là vấn đề.

2 xu của tôi. :)

Điều thú vị - là hầu hết mọi người nghĩ rằng họ đã phát minh ra một "ý tưởng cụ thể" - trong khi thực tế, "ý tưởng" có thể (xác suất rất cao) đã được tung ra dưới dạng khăn ăn, giấy, mã hóa, internet, blog, Vân vân...

Vì vậy, mặc dù nó có thể mới đối với bạn, đặc biệt là khi bạn đã thấy nó trong hệ điều hành của người khác, nó có thể được sử dụng trong các hệ điều hành khác mà họ bắt nguồn từ hệ điều hành của họ từ ... và cuối cùng có lẽ nó được sử dụng ở một nơi khác trực tuyến .. . thậm chí không phải là vấn đề về giấy phép / bản quyền đã nêu ... trong trường hợp đó bạn có thể sao chép từ nguồn đó ... sửa đổi, thay đổi, xóa, thêm ... (tho tôi sẽ sao chép / url để theo dõi lại bạn đã nhận được nó để cho thấy rằng bạn đã nhận nó một cách hợp pháp) theo mã mà bạn muốn.

Tôi nghĩ thật tuyệt vời ở 'vùng đất mã', đặc biệt là bao nhiêu lần tôi đã phát hiện ra rằng mã 'xảo quyệt' của tôi đã được viết (tho không tốt .. nhớ bạn - lol) vào năm 2003 trên một số người lập dị, tìm kiếm google thứ hạng # 1,239, trang web họ đã tạo khi còn đi học, chỉ cần tạo các chức năng để sử dụng cho vui và miễn phí. :)

Vấn đề là .. cung cấp tín dụng, không khắc phục sự cố và khi tất cả các lỗi khác ... hoặc nếu nghi ngờ - HỎI hệ điều hành ban đầu để có quyền sử dụng ... các bạn! khi nào chúng ta trở nên kiêu ngạo đến mức chúng ta không thể đơn giản yêu cầu ai đó sử dụng cỏ dại, kéo, máy cắt cỏ, ... và - oh yeah - một chức năng tuyệt vời mà họ đã tạo ra!

Được rồi, đã 3 xu ...


1
vấn đề là anh ta đang cố gắng trốn tránh các điều khoản cấp phép ban đầu.
Paul Nathan

-4

Hãy cho người đàn ông nghỉ ngơi!

  1. nếu một khiếu nại pháp lý được gửi lên anh ta, điều đó có nghĩa là ai đó sẽ phải thực sự có quyền truy cập vào mã và ĐỌC nó. Nếu phần mềm được biên dịch thì sao?

  2. Anh ta sẽ luôn luôn có thể kêu gọi sự thiếu hiểu biết của mình tại thời điểm này của sự kiện. Không ai được cho là có đức tin tốt trước khi họ bị kết án?

  3. Học không sao chép. Tìm cảm hứng trong một số công việc hiện tại chắc chắn không phải là sao chép. Vậy điều gì sẽ xảy ra nếu anh ta học được từ một phần mềm chức năng của từng dòng mã và quyết định anh ta sẽ sử dụng các nguyên tắc của kết quả để cải thiện điều đó và làm cho một phần mềm tốt hơn, đơn giản hơn, gọn gàng hơn. Không sao chép IMHO.

Đó là 2 xu của tôi. Bây giờ đến lượt người vô tội đầu tiên ném đá ...;)


3
Đối với # 1: Cho đến khi mã nguồn của bạn bị thẩm phán trát tòa và bạn cười toe toét với bồi thẩm đoàn khi họ thấy "viết lại" của bạn.
Jarrod Nettles

2
Đối với # 2: Vi phạm bản quyền thường là một vấn đề dân sự, vì vậy về mặt pháp lý không có thứ gọi là "có tội". Nếu tính ưu việt của bằng chứng chỉ ra rằng OP đã vi phạm, thì đó là tất cả những gì cần thiết. Đối với # 3: Đó không phải là những gì câu hỏi ban đầu nói.
David Thornley

1
(1) Không khó để phát hiện ra một đạo văn trắng trợn mà không nhìn thấy mã nguồn. Bên cạnh đó, chúng tôi không có thói quen tư vấn cho mọi người về cách thoát khỏi những hành vi phi pháp và phi đạo đức ở đây. (2) Ignorantia Juris non excusat ( thiếu hiểu biết không phải là phòng thủ ) (3) Viết lại mỗi dòng là không học. Viết lại từng dòng trên mỗi dòng chắc chắn không chỉ là tìm cảm hứng. Đó là đạo văn trắng trợn, đơn giản và đơn giản. Tôi sẽ không thử lại tất cả ở đây, nhưng có rất nhiều tài liệu pháp lý và tiền lệ hỗ trợ việc này.
Greg Jackson

OK, vì vậy nếu tôi không viết lại từng dòng một, nhưng hiểu thuật toán, và sau đó thực hiện lại nó theo cách riêng của tôi. Tức là một người đàn ông phòng sạch hoạt động. Có khác nhau không? Nếu không, tôi có được phép học hỏi từ bất kỳ dự án nguồn mở nào không?
Chris Barry

4
@Chris Toàn bộ quan điểm của một hoạt động phòng sạch là mọi người thực hiện thuật toán hoàn toàn không thấy mã nguồn gốc. Không có thứ gọi là "phòng sạch một người".
Adam Lear
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.