Tôi đang làm việc với một vấn đề phần mềm tại nơi làm việc khá chung chung, nhưng tôi không thể tìm thấy một thư viện mà tôi muốn giải quyết nó, vì vậy tôi đang xem xét việc tự viết một cái (ít nhất là một phiên bản xương trần). Tôi sẽ viết một số nếu không phải tất cả các phiên bản 1.0 tại nơi làm việc, vì tôi cần nó cho dự án. Nếu hóa ra tốt, tôi có thể muốn mang công việc về nhà và đánh bóng nó chỉ để cho vui, và có thể phát hành nó như một dự án nguồn mở. Tuy nhiên, tôi lo ngại rằng nếu tôi viết phiên bản 1.0 tại nơi làm việc, tôi có thể không được phép làm điều này theo nghĩa hợp pháp. Rõ ràng tôi có thể hỏi ông chủ của mình (người có lẽ sẽ không quan tâm), nhưng tôi tò mò về cách các lập trình viên khác đã giải quyết vấn đề này và luật pháp đứng ở đâu. Câu hỏi một câu của tôi là,Khi nào thì ổn (về mặt pháp lý / đạo đức) đối với nguồn mở một công cụ phần mềm do bạn viết ban đầu để làm việc? Điều gì nếu bạn đã mở rộng nguồn ban đầu đáng kể trong giờ làm việc?
Theo dõi: Giả sử tôi viết toàn bộ mọi thứ ở nhà vào thời gian của mình sau đó chỉ đơn giản là sử dụng nó tại nơi làm việc, điều đó có thay đổi mạnh mẽ không?
Theo dõi 2: Lưu ý rằng tôi không cố gắng gạt bỏ chủ nhân của mình (Tôi hiểu rằng họ đang trả tiền cho tôi để xây dựng các sản phẩm mà họ sở hữu) - Tôi chỉ tự hỏi liệu có cách nào công bằng để làm điều này cho tất cả những người liên quan ... Sẽ thật tuyệt nếu một số tổ chức phi lợi nhuận có thể sử dụng mã của tôi và tiết kiệm thời gian cho họ. Ngoài ra, có một vấn đề khác đang bị đe dọa. Nếu tôi viết thư viện cho một thứ rất đơn giản, chung chung (như các bảng HTML trong Javascript), điều đó có nghĩa là tôi không bao giờ có thể làm điều đó một lần nữa mà không đặt mình vào rủi ro pháp lý (ngay cả khi đó là một bản viết lại hoàn toàn mới hoặc một phân khúc của một dự án lớn hơn). Tôi có từ bỏ quyền viết mã cho loại dự án này cho đến hết đời không (nếu không có sự cho phép của công ty này), vì mã tại nơi làm việc có thể vẫn ở đâu đó trong não ảnh hưởng đến tôi? Điều này dường như liên quan đến bằng sáng chế phần mềm,