Có hợp pháp để tạo lại / mã nguồn mở một chương trình mà trước đây bạn đã mã hóa cho một công ty khác


49

Ở công việc trước đây của tôi, tôi đã tạo ra một bảng điều khiển chung để tự động hóa các tác vụ và nó hóa ra khá hữu ích - và tất nhiên chủ nhân trước đây của tôi sở hữu tất cả mã tôi đã viết khi tôi làm việc ở đó. Bây giờ tôi không còn ở đó nữa, có hợp pháp không khi tôi tạo lại bảng điều khiển đó từ bộ nhớ và mã nguồn mở? Nếu tôi tạo lại nó, mã (có thể là 2k-3k dòng) có thể gần giống với bản gốc vì tôi có bộ nhớ khá tốt và có xu hướng tuân theo phong cách mã hóa thông thường và quy ước đặt tên.

Chỉnh sửa: thêm một chút nền tảng - đây là một phần mềm khá chung chung chỉ được sử dụng bởi một nhóm nhỏ (<10) trong một tập đoàn toàn cầu. "Công ty" thậm chí không biết đến hệ thống này vì tôi tự tạo ra nó. Nó được xây dựng trên python / django. Và gần như giống hệt tôi có nghĩa là các ví dụ, các mô hình django sẽ có cùng tên / trường và các khung nhìn sẽ sử dụng các truy vấn tương tự để trả về cùng một bộ đối tượng.


15
Bạn đã tiếp cận họ về nguồn mở mã? Nếu đó không phải là một phần của hoạt động kinh doanh kiếm tiền cốt lõi của họ, họ có thể vui lòng làm điều đó và nó cũng có thêm lợi ích khi cung cấp cho họ các tính năng mới miễn phí, giả sử bạn hoặc người khác sẽ mở rộng nó.
dodgy_coder

3
trong hầu hết các hợp đồng, bất cứ điều gì bạn làm cho chủ nhân của mình, có được viết ra hay không, là tài sản riêng của anh ta . Do đó nhổ nó ra một lần nữa và làm cho nó có sẵn cho một người không ion rằng hợp đồng là vi phạm hợp đồng.
stijn

1
Về mặt lý thuyết hợp pháp nhưng may mắn chứng minh rằng tại tòa án. :(
SF.

6
Một điểm khác biệt thú vị ở đây là sự khác biệt giữa "hợp pháp" và "đạo đức". Trong hầu hết các trường hợp nếu bạn phải đặt câu hỏi thì đó là vì bạn đã biết câu trả lời và chỉ không muốn thừa nhận nó.
Joel Etherton

1
Nếu đây là một chức năng chung thì có vẻ như hoàn toàn tốt để sử dụng lại bất cứ nơi nào bạn đến và thậm chí đăng nó trực tuyến. Vậy tại sao một tập hợp các chức năng sẽ rất khác nhau?
kefe Fuzhou

Câu trả lời:


35

Câu hỏi hay, nhưng có lẽ đó là nơi hỏi sai vì bạn sẽ không nhận được lời khuyên pháp lý tốt từ các lập trình viên. IANAL, tìm kiếm tư vấn pháp lý thích hợp.

Nó không cảm thấy hợp pháp. Có một cơ hội rất tốt rằng nếu bạn phát hành một chương trình gần như giống hệt với chương trình mà công ty cũ của bạn sở hữu, bạn có thể bị kiện. Điều đó nói rằng tôi chắc chắn rằng nó xảy ra rất nhiều.

Một điều bạn có thể làm là tạo lại chương trình bằng một ngôn ngữ khác. Theo cách đó, rõ ràng là bạn đã không rời khỏi công ty với mã nguồn và sau đó là nguồn mở. Nó cũng mang tính giáo dục để giải quyết vấn đề mà bạn quen thuộc bằng một ngôn ngữ khác.

Tôi cũng khuyên bạn nên suy nghĩ về các cách để cải thiện chương trình, làm cho nó mở rộng hơn, v.v ... Lần thứ hai bạn làm điều gì đó hầu như luôn tốt hơn lần đầu tiên vì bạn có thể tránh tất cả "Tôi ước tôi đã làm điều đó cách "quyết định thiết kế mà bạn có thể đã thực hiện lần đầu tiên.

Ngay cả khi bạn không bao giờ phát hành nó, nó sẽ là một bài tập tốt. Nếu cuối cùng bạn nhận được lời khuyên pháp lý và chọn phát hành nó, bạn sẽ được bảo vệ tốt hơn.


5
nếu bạn muốn giữ cùng một ngôn ngữ, hãy nghĩ về việc viết "gần như" cùng một mã nhưng thay đổi UI . Giống như mcottle đã nói, bạn có thể cải thiện nó và nếu một trang web trông hoàn toàn khác biệt, mặc dù nó có "gần như" chính xác mã giống với mã bạn đã làm trước đây, bạn sẽ tránh xa các vấn đề về luật pháp.
Olivier Pons

1
Các phần của mã bao gồm UI sẽ khác nhau nhưng một số có thể giống nhau vì nhiều lý do (kiểu mã hóa cá nhân, v.v.). Làm thế nào đến nay tôi cần phải đi được 100% rõ ràng?
kefe Fuzhou

1
-1 cho "không cảm thấy hợp pháp". Các đề xuất là tốt, các vấn đề là thực tế, không hợp pháp.
Sean McMillan

2
Tại sao mọi người nghĩ rằng khi bạn viết lại một cái gì đó từ số không, bạn sẽ làm điều gì đó tốt hơn? Bạn thực sự có thể làm cho một cái gì đó tồi tệ hơn.
Clement Herreman

2
@ClementHerreman: Đồng ý. Đôi khi tốt hơn là đi với một cái gì đó đã được chứng minh bằng hành động. Nếu bạn viết lại từ đầu, bạn có thể cải thiện rất nhiều nhưng cũng giới thiệu các lỗi mới.
kefe Fuzhou

21

Pháp lý hay không, nếu chủ nhân của bạn phát hiện ra và quyết định nhấn vào vấn đề bạn sẽ ở trong một thế giới bị tổn thương. Ngay cả khi bạn cuối cùng bị phán xét đúng, vụ kiện tiềm năng có thể sẽ hoàn toàn bị hủy hoại cho bạn. Bạn cũng có nguy cơ phải gánh chịu cơn thịnh nộ của cộng đồng OSS vì đã làm ô nhiễm nó với mã có bản quyền cũng như mất danh tiếng do bị chủ nhân của bạn xem là không trung thực.

Bạn cũng có nguy cơ hành động từ bất cứ ai chấp nhận sản phẩm của bạn. Trường hợp xấu nhất, bất kỳ ai sử dụng sản phẩm của bạn sẽ phải đối mặt với việc phải cấp phép sản phẩm từ chủ lao động trước hoặc loại bỏ nó khỏi giải pháp của họ, tốn thời gian và tiền bạc - dù bằng cách nào họ cũng có thể kiện bạn vì thiệt hại.

Có vẻ như làm điều đúng đắn sẽ dễ dàng hơn - nói chuyện với nhà tuyển dụng trước của bạn, được họ đồng ý sử dụng lại sản phẩm bạn đã phát triển cho họ với mục đích phân phối nguồn mở. Họ có thể chỉ nói "đi trước". Làm điều đó đằng sau lưng của họ nói chung là một ý tưởng tồi, vấn đề pháp lý sang một bên.


Hầu như bất kỳ nhà tuyển dụng nào quan tâm đến việc sở hữu sản phẩm cuối cùng sẽ không cho phép nhân viên đã tạo ra nó phân phối nó theo bất kỳ cách nào khác với sự đồng ý của họ. Nếu không thì mục đích của việc sở hữu nó là gì?
Joe Z.

14

Kiểu lập trình viên nào có cơ hội tái tạo một cái gì đó họ đã làm trước đây (những bài học kinh nghiệm, v.v.) sẽ tạo ra thứ gì đó "gần như giống hệt". Trừ khi bạn tin rằng bạn đã mã hóa một cái gì đó hoàn hảo ??? Tại thời điểm đó bạn có câu hỏi lớn hơn để tự hỏi mình.


10
loại lười biếng không có nhiều thời gian. Tôi chỉ muốn sử dụng những gì hiệu quả hơn là cố gắng giải quyết vấn đề tương tự hai lần trong trường hợp cụ thể NÀY.
kefe Fuzhou

8

Bảng điều khiển là một tá. Chủ của bạn không bao giờ sở hữu IP trên ý tưởng đó. Chủ lao động của bạn đã sở hữu bản quyền về việc thực hiện cụ thể.

Bạn có thể viết mã mới từ đầu. Điều đó có nghĩa là công việc không phải là một công việc có nguồn gốc. Thật là thông minh để ghi chú để bạn có thể chứng minh điều này.


Cập nhật gần đây: theregister.co.uk/2011/09/30/software_copyright . ECJ dự kiến ​​sẽ tuyên bố rõ ràng rằng UI không có bản quyền, vì nó nằm trong "ý tưởng và nguyên tắc" của một chương trình phần mềm.
MSalters

5

Về mặt kỹ thuật, bạn đang tạo một tác phẩm xuất phát - bạn quen thuộc với giải pháp hiện có và bạn đang tạo lại nó từ bộ nhớ. Áp dụng IANAL thông thường, nhưng nếu chủ cũ của bạn kiện bạn vì vi phạm bản quyền, tôi đoán là họ có một lý lẽ khá mạnh mẽ và bạn sẽ phải đưa ra một lời giải thích hợp lý về lý do tại sao chương trình được tạo lại của bạn không nên được coi là một tác phẩm có nguồn gốc.

Về mặt kỹ thuật pháp lý, tham gia một vụ kiện với chủ cũ không phải là nơi bạn muốn, ngay cả khi bạn giành chiến thắng, bạn sẽ là 'anh chàng đó', điều mà tôi nghi ngờ sẽ là một bước chuyển sự nghiệp thông minh.


3
Tôi không tin đó là cách các tác phẩm phái sinh được định nghĩa - tôi nghĩ bạn phải thực sự bao gồm một phần của nó.
Sean McMillan

Phụ thuộc vào quyền tài phán và giải thích, nhưng 'xuất phát' không nhất thiết phải có nghĩa là 'bao gồm các phần của'.
tdammers

1
@tdammers: Vâng, nhưng điều đó làm cho nó vô dụng khi hỏi ở đây. Chúng tôi không phải là luật sư nói chung và những người không có khả năng là luật sư của OP. Chúng tôi không thể trả lời các câu hỏi pháp lý cụ thể (và lưu ý rằng những gì cấu thành một "tác phẩm phái sinh" là một chủ đề thảo luận nóng trong thế giới F / OSS).
David Thornley

Chà, quan điểm của tôi là ngay cả khi bạn tái tạo lại thứ đó từ bộ nhớ, bạn sẽ khó có thể chứng minh nó không xuất phát khi thẩm phán / bồi thẩm đoàn biết rằng bạn cũng đã viết bản gốc giống hệt cái mới mà bạn đang tuyên bố không phải là một tác phẩm có nguồn gốc. "Vô tội cho đến khi được chứng minh có tội" không áp dụng cho luật tư.
tdammers

4

Ở Mỹ, nếu chủ cũ của bạn quyết định kiện bạn, bạn sẽ gặp rắc rối cho dù các thẩm phán nghĩ gì.

Về mặt lý thuyết, công ty của bạn sở hữu công việc của bạn chứ không phải bộ não của bạn. Do đó, nếu bạn thực hiện lại công việc trong thời gian của mình, họ sẽ không có quyền sở hữu đó. Rốt cuộc, họ thuê bạn vì những gì bạn biết trước khi họ thuê bạn. Có vẻ không hợp lý khi cho rằng họ có thể tận dụng kiến ​​thức trước đó của bạn nhưng đồng thời từ chối bạn làm điều tương tự sau khi bạn rời đi. Nhưng IANAL, một trong hai.

Trừ khi họ làm cho bạn ký một số thứ điên rồ. Hoặc trừ khi họ nộp bằng sáng chế. Nếu họ làm điều đó, họ sẽ sở hữu phần não đó. Trong trường hợp đó, những mẫu tế bào thần kinh tạo nên kiến ​​thức bên trong não của bạn không còn là của bạn nữa và bạn không nên sử dụng chúng nữa. Nói về việc bán linh hồn của bạn.


3

Tôi sẽ đi chệch khỏi chủ đề chính để nói rằng tôi cảm thấy tất cả điều này thực sự đáng buồn.

Bây giờ về câu hỏi:

Nếu bạn là một thợ mộc làm đồ nội thất, và công ty cũ cung cấp cho bạn bản thiết kế và thiết kế, sau đó bạn được một công ty khác thuê, rõ ràng bạn sẽ gặp rắc rối nếu bạn bắt đầu làm chính xác những thứ tương tự.

Nếu công ty cũ của bạn chỉ mua sản phẩm của công việc của bạn và bạn đã thiết kế và "phát minh" ra chúng (và bạn có thể chứng minh điều đó) thì luật pháp sẽ được áp dụng cho bạn.

Đạo đức của câu chuyện: lần sau hãy làm nó nguồn mở ngay từ đầu.


Tôi đã xem xét nó vào thời điểm đó nhưng có quá nhiều sự quan liêu liên quan đến việc cố gắng mở nguồn ngay cả một đoạn mã nhỏ từ một công ty tài chính.
kefe Fuzhou

3

(a) Không nhận lời khuyên pháp lý từ internet (bao gồm cả lời khuyên này!)

(b) Bị kiện là một nỗi đau thực sự ở phía sau, ngay cả khi bạn thắng

(c) Có vẻ như bạn nghĩ rằng không có nguy cơ thực sự bị kiện. Nếu vậy, thì có lẽ bạn không có quyền riêng tư để làm điều này hay không.

Cho dù nó có hợp pháp hay không, điều này sẽ đi xuống mức độ bạn muốn tạo lại dự án này so với mức độ bạn muốn có nguy cơ bị kiện. Nếu bạn có tiền, thì tôi khuyên bạn nên nói chuyện với một luật sư trước về việc bạn có quyền làm việc này không, và chi phí cho việc kiện tụng sẽ biến mất nếu bạn làm thế.


0

Có lẽ có một sự khác biệt về mặt pháp lý giữa việc tạo lại giải pháp từ bộ nhớ và tạo ra một giải pháp ban đầu cho cùng một thông số kỹ thuật (nhưng IANAL, vì vậy hãy hỏi một giải pháp). Để chứng minh điều sau, bạn có thể muốn xuất bản một thông số gốc và đầy đủ về công cụ bạn dự định phát triển trên blog của mình. Sau đó, một số nhà phát triển khác chưa bao giờ thấy công việc trước đây của bạn có thể mã hóa nó.


0

Đây là một cách đơn giản: -Mở bảng điều khiển từ url có sẵn công khai. -Nhận về những cách tốt nhất để làm cho nó dễ dàng hơn / tốt hơn / như vậy. -Nhận lại nó trên ngôn ngữ khác nhau, như đề xuất trước đây. Lý do tốt để học ruby, haskell, lisp và như vậy. -Sau đó làm cho một dự án nguồn mở. vui lòng thêm 'lấy cảm hứng từ ...' và liên kết đến trang web gốc.


0

Nó sẽ không tốn nhiều thời gian để thậm chí yêu cầu họ cho phép. Bạn cần chữ ký pháp lý bằng văn bản. Để che đậy bản thân của bạn.

Nhưng nếu bạn định yêu cầu họ cho phép bạn tạo lại một số thứ bạn đã tạo cho họ. Bán nó cho họ. Bán cho họ ý tưởng. Bạn sẽ mở ra một phần mềm mà họ đã sử dụng và làm cho nó mở ra cho các đánh giá và bổ sung có ý nghĩa từ cộng đồng lập trình. Họ sẽ không phải tiêu tốn tài nguyên nội bộ để quản lý và cải thiện phần mềm. Trừ khi họ muốn đạt được lợi ích lớn hơn. Tôi có nghĩa là thực sự bán cho họ ý tưởng.

Nếu nó không phải là một công nghệ kinh doanh cốt lõi mà họ đang bán cho khách hàng, bạn có thể sẽ được chấp thuận khá dễ dàng. Nếu đó là một số thứ họ bán cho khách hàng, thì họ sẽ mở ra cho họ những đối thủ cạnh tranh với cùng một sản phẩm. Chỉ có bạn mới thực sự biết tầm quan trọng của nhà tuyển dụng trước đó xem mã đó. Nếu đó không phải là nhập khẩu để tạo thu nhập và chỉ là một công cụ nâng cao năng suất, bạn rất có thể sẽ được chấp thuận.

Đó là con đường rẻ nhất và ngắn nhất để có được những gì bạn muốn. Nếu họ nói có, không có vấn đề. Nó chỉ tốn của bạn một thời gian. Nếu họ nói không, và bạn vẫn muốn tiếp tục thì hãy hỏi luật sư về ý kiến ​​của anh ấy. Tôi hy vọng rằng điều duy nhất họ sở hữu là việc thực hiện. Nếu bạn tạo lại nó với đủ các thay đổi mà nó trông không giống và hoạt động chính xác như bạn thì tốt hơn nhiều.

Đây là trạng thái rối loạn chức năng của hệ thống hiện tại nơi chúng ta không sở hữu sản phẩm của lao động. Một số xã hội thành công nhất nơi những người mà mọi người có thể tự do kiếm lợi từ nỗ lực của chính họ. Bạn có thể đưa ra so sánh với tình huống này với quyền sở hữu đất đai phong kiến ​​và những vấn đề mà nó tạo ra. Tại một số điểm mọi người sẽ làm kinh doanh khác nhau. Giống như googles 1/5 thời gian của bạn cho các dự án của riêng bạn.


0

Chắc chắn tất cả điều này thuộc về hợp đồng giữa bạn và khách hàng. Nếu bạn đã có kế hoạch để làm điều này, bạn nên có một điều khoản ghi rõ 'sode nguồn này vẫn là tài sản trí tuệ của kefe Fuzhou ...' hoặc một cái gì đó (tôi biết tầm nhìn là 20/20). Tôi đồng ý với các ý kiến ​​khác rằng Lập trình viên SE không phải là nguồn tư vấn tốt nhất, và hợp pháp hay không, điều này sẽ khiến bạn gặp vấn đề. Tình cờ, tôi từng làm việc như một nhà thiết kế đồ họa, và trong ngành đó, hầu như tất cả các công việc vẫn là IP của khách hàng chứ không phải nhà thiết kế.


Vì vậy, nếu bạn vẽ một hình ảnh của một chiếc xe cho một khách hàng, bạn không thể vẽ một hình ảnh của một chiếc xe cho một khách hàng nữa?
Nate

Không, bạn không thể vẽ hình ảnh chiếc xe cho một khách hàng, sau đó gửi bản vẽ tương tự của chiếc xe cho khách hàng thứ hai. Nhưng ngoài ra, bạn không thể gửi cho khách hàng thứ hai bất cứ điều gì có thể tranh luận về mặt pháp lý là giống hoặc quá giống với xe của khách hàng thứ nhất.
Paul T Davies

-1

Ở Pháp, đó là bất hợp pháp.

Chủ sở hữu của mã là ông chủ cũ của bạn. Bất kể bạn lấy nó bằng cách nào, từ ổ USB hoặc từ bộ nhớ của bạn.

Nếu bạn muốn sử dụng bảng điều khiển đó, bạn phải đặt thỏa thuận với chủ sở hữu.


Chắc chắn mỗi công ty đều có chính sách riêng về vấn đề này hơn là luật toàn quốc? Tôi nghĩ rằng đây sẽ là một cái gì đó trong hợp đồng nhân viên của công ty, nếu có.
dodgy_coder

Mặc định là bạn có được một mức lương để đổi lấy việc viết mã của họ. Mặc dù khả năng có thể tồn tại, tôi không biết các chính sách thay thế. Điều này khác nếu bạn là một freelancer và bán các ứng dụng hoặc thư viện, trong trường hợp đó bạn là ông chủ và bạn sở hữu mã của mình.
mouviciel

Thật tốt là tôi không ở Pháp.
kefe Fuzhou

1
Tôi có thể cho Pháp -1 không? Truy xuất "từ bộ nhớ" hoàn toàn không giống với từ đĩa.
Sean McMillan

2
Điều này có nghĩa là, ở Pháp, nếu bạn thực hiện một thuật toán hoặc viết một loại chương trình nào đó, bạn không bao giờ có thể thực hiện thuật toán đó hoặc viết loại chương trình đó cho một chủ nhân khác?
David Thornley
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.