Bạn có thể đóng góp mã nguồn cho một dự án nguồn mở ?


Can you contribute code to an open source project?
By Randy Metcalfe
Lời người dịch: Khi bạn, dù là cá nhân hay là một tổ chức, ví dụ như một trường cao đẳng hay đại học, tham gia vào cộng đồng phát triển phần mềm nguồn mở của một dự án nguồn mở cụ thể nào đó, ví dụ Moodle chẳng hạn, thì bạn sẽ rất cần quan tâm tới việc những đóng góp mã có bản quyền của bạn sẽ được quản lý như thế nào trong dự án đó. Rất có thể bạn sẽ nên ký một thỏa thuận giấy phép của người đóng góp trước khi thực hiện việc đóng góp mã của mình vào dự án đó. Hơn nữa, thực tế cũng sẽ chỉ ra rằng, ngoài vấn đề đó ra, thì sự đóng góp cho dự án là đứng sau tính bền vững của dự án, mà trước hết để thực hiện được nó, bạn sẽ thấy cần phải chuyển sang một mô hình phát triển mở.
Vì bạn đã viết một số mã
Bạn đã viết một số mã cho một dự án mà bạn từng đôi lúc đi theo. Bạn đang tham gia trong danh sách thảo luận thư điện tử của những người sử dụng. Bạn từng âm thầm đi theo trong danh sách thảo luận thư điện tử của các lập trình viên. Bạn đã tải về mã nguồn được thấy trong kho được xây dựng vào ban đêm, và bạn đã viết bản vá đầu tiên của bạn cho một vài tính năng của mã mà bạn nghĩ cần vọc.
Phần mềm là một tác phẩm có bản quyền
Mã nguồn đối với các ứng dụng phần mềm là một tác phẩm có bản quyền. Bản quyền nảy sinh ngay khi các ý tưởng được đặt vào trong một số vật trung gian cố định, nó có thể là giấy hay điện tử. Không gì đặc biệt cần phải được thực hiện cho mã để được bảo vệ bằng bản quyền.
Những người nắm giữ bản quyền có quyền bố trí tư liệu bản quyền của họ theo ý của họ. Điều này bao gồm việc cấp phép nó để được sử dụng theo những cách thức khác nhau.
Các dự án phần mềm nguồn mở (PMNM) phát hành mã nguồn theo các giấy phép được OSI chứng thực. Để bản vá của bạn được sử dụng trong dự án, nó cũng có thể cần phải được cấp phép theo cùng giấy phép đó. Bạn có thể hoàn tất điều đó hoặc bằng các cách sau:
  • kỹ về bản quyền trong mã cho dự án; hoặc
  • cấp phép cho mã để sử dụng trong dự án theo một giấy phép phù hợp
Một số dự án khăng khăng chỉ định bản quyền. Điều đó nhất định làm cho mọi điều dễ dàng hơn cho họ sau này khi họ cần làm việc với các vấn đề về cấp phép. Đó chỉ là một trong một số khả năng.
Hầu hết các dự án chỉ yêu cầu rằng bạn cấp phép mã mà bạn muốn đóng góp theo một giấy phép tương thích với giấy phép của dự án.
Trong cả 2 trường hợp, ràng buộc y hệt áp dụng; chỉ người nắm giữ bản quyền có sức mạnh hoặc tái chí định quyền của họ hoặc cấp phép cho tư liệu bản quyền của họ.
Bạn có quyền cấp phép cho tư liệu bản quyền này không?
Bạn có phải là người nắm giữ bản quyền không?
Hầu hết các nhân viên trong thực tế không phải là những người nắm giữ bản quyền đối với tư liệu có bản quyền được sinh ra như một phần công việc của họ. Điều này sẽ khác từ cơ quan này tới cơ quan khác, và có thể giữa các vai trò công việc trong một cơ quan. Xin lưu ý: đã viết mã này ở nhà sẽ không, bản thân nó, chỉ ra rằng bạn nắm giữ bản quyền về nó; bạn vẫn cần kiểm tra các điều khoản làm việc của bạn.
Liệu bạn có là người nắm giữ bản quyền đối với tư liệu như vậy hay không nên được nói ra theo các điều khoản làm việc của bạn. Nếu bạn không thể thấy bất kỳ thứ gì ở đó, thì bạn có thể muốn kiểm tra bất kỳ chính sách nào của cơ quan, như một chính sách các Quyền Sở hữu Trí tuệ, nó được tham chiếu trong hợp đồng làm việc của bạn.
Bạn phải thiết lập xem ai là người nắm giữ bản quyền trước khi bạn đi bất kỳ đâu xa hơn (và lý tưởng trước khi bạn thậm chí có điều này xa hơn).
Trên thực tế bạn có phải là người nắm giữ bản quyền không?
Nếu bạn là người nắm giữ bản quyền
Nếu bạn trong thực tế là người nắm giữ bản quyền đối với tư liệu có bản quyền mà bạn đã tạo ra, thì xin chúc mừng! Bạn có thể làm gì bạn muốn với sở hữu trí tuệ của riêng bạn. Điều này bao gồm việc cấp phép nó để được sử dụng trong một dự án nguồn mở. Bạn có thể thậm chí muốn chỉ định bản quyền của bạn cho dự án theo yêu cầu, hoặc cho tổ chức bảo trợ (như Quỹ Phần mềm Tự do – FSF) mà đang đỡ đầu cho dự án.
Bạn thậm chí có quyền cấp phép đôi cho mã nguồn của bạn nếu bạn muốn. Điều này có thể xảy ra nếu bạn định cấp phép cho nó cho một người hoặc nhóm theo một giấy phép này và cấp phép nó cùng một lúc cho người khác hoặc nhóm khác theo một giấy phép khác. Điều này là có khả năng vì người nắm giữ bản quyền có thể làm bất kỳ điều gì mà họ muốn với từ liệu có bản quyền của họ.
Nếu bạn không phải là người nắm giữ bản quyền
Nếu bạn không phải là người nắm giữ bản quyền thì bạn phải có được sự đồng ý của người nắm giữ bản quyền đối với bất kỳ điều gì bạn muốn làm với tư liệu có bản quyền. Thường thì điều này được nói ra trong các điều khoản làm việc của bạn.
Để đóng góp bản vá của bạn cho dự án nguồn mở trong trường hợp ví dụ của chúng tôi, người nắm giữ bản quyền cần phải đồng ý rõ ràng cho sự đóng góp của bạn đối về sở hữu trí tuệ của nó. Hơn nữa, đáng lưu ý là điều này không có hiệu ứng nào lên bản thân bản quyền cả.
Mã được đóng góp cho các dự án nguồn mở thường giữ lại bản quyền của người nắm giữ bản quyền gốc ban đầu. Để đăng ký bản quyền tác giả của bạn cho cơ quan của bạn, một qui trình chính thống hơn nhiều có thể cần thiết để được bắt đầu. Thường thì điều này có liên quan tới các tài liệu pháp lý cần thiết phải được thay đổi, truyền bản quyền từ bên này sang bên khác. Điều này có thể là một qui trình phiền hà. Kết quả là nó rất hãn hữu trong thiết lập ở các trường cao đẳng và đại học.
Nhưng thậm chí nếu bản quyền không được tái chỉ định, thì sự đồng ý phải giành được trước khi mã có thể được đóng góp cho dự án. Hơn nữa, trong một dự án được quản lý tốt thì bạn sẽ được yêu cầu cung cấp sự đồng ý này ở dạng của một thỏa thuận giấy phép của người đóng góp.
Làm thế nào bạn có được sự đồng ý của đại học và cao đẳng của bạn để đóng góp tư liệu có bản quyền của họ cho một dự án nguồn mở?
Đi đâu trước: lãnh đạo phòng của bạn
Hầu như chắc chắn con đường của bạn sẽ đưa bạn qua bất kể sự giám sát sở hữu trí tuệ nào đối với tổ chức của bạn. Ví dụ nếu bạn làm việc ở UK HE, có khả năng sẽ là các dịch vụ pháp lý, các dịch vụ nghiên cứu, và có khả năng là đơn vị chuyển giao công nghệ của cơ quan bạn. Nhưng nơi đầu tiên để bắt đầu là với lãnh đạo hoặc người đứng đầu phòng của bạn.
Nếu bạn may mắn, thì người quản lý của bạn hoặc người lãnh đạo phòng bạn sẽ từng được ủy quyền sức mạnh để quyết định những vấn đề như vậy. Có một ví dụ tốt về điều này xảy ra tại đơn vị các Dịch vụ Điện toán Đại học Oxford.
Nếu bạn không được may mắn cho lắm, thì người quản lý bạn hoặc người đứng đầu phòng của bạn có thể không có được ủy quyền này nhưng ít nhất sẽ biết tập các bước chính thức phải được thực hiện trong tổ chức của bạn để đạt được sự đồng ý của nó để đóng góp bản vá của bạn cho một dự án nguồn mở.
Điều này có thể sẽ có nghĩa là việc tiếp cận phòng các dịch vụ pháp lý tổ chức của bạn. Họ có thể thường cần một sự xác minh từ một vài đơn vị độc lập, như đơn vị chuyển giao công nghệ, như đối với giá trị có thể của sở hữu trí tuệ theo yêu cầu và bất kỳ trách nhiệm pháp lý nào mà cơ quan đó có thể chịu như là kết quả của sự phát hành này đối với IPR của nó.
Đáng tiếc là các bước có liên quan có thể là vô số, và hầu như không thể tránh khỏi là dị thường đối với tổ chức của bạn. Họ cũng không đảm bảo rằng sự đồng ý sẽ sớm đến.
Cách thức tốt hơn
Các tổ chức có suy nghĩ sớm nhận thức được rằng những đóng góp mã, dù ở dạng các bản vá hay thậm chí ở dạng các module đáng kể hơn, là một phần của những gì được đi theo bằng sự tham gia mang nặng tính cơ quan với nguồn mở. Nhưng làm thế nào họ tạo thuận lợi nhất cho qui trình này?
Ví dụ, khi Đại học Mở từng bắt tay vào lựa chọn Moodle như là môi trường học ảo (VLe) trong tương lai của mình, nó cũng đã thiết lập cách mà nó có thể tham gia với sự phát triển đang diễn ra của Moodle. Kết quả là một đầu tư đáng kể, nhưng có định lượng và bao hàm trong sự phát triển nguồn mở. Sự đóng góp của Đại học Mở về sở hữu trí tuệ của nó cho dự án Moodle không chỉ làm cho Moodle mạnh hơn. Nó đứng ra như một ví dụ về thực tiễn tốt trong sự cam kết của viện trường với cộng đồng nguồn mở.
Một ví dụ khác là cách mà Đại học Cambridge bắt đầu tham gia vào chương trình đối tác của Sakai. Trong những giai đoạn đầu của Sakai, trọng tâm chính là về việc tạo ra một khung hành chính cho nhóm các viện trường giáo dục có liên quan trong dự án. Mục tiêu chính là để đảm bảo rằng các phát hành phần mềm được sản xuất đúng thời điểm và tuân theo danh sách các ưu tiên được đồng thuận. Tuy nhiên trong một số dự án thí điểm của Sakai thì đã trở nên rõ ràng rằng sự đóng góp có điều phối của các viện trường cho sự phát triển mã chỉ là thứ yếu so với tính bền vững tổng thể của dự án. Cambridge và các đối tác khác đã hiểu được rằng việc xây dựng một cộng đồng xung quanh mã được chia sẻ thực sự là quan trọng hơn, và như là kết quả của những nỗ lực của họ theo đường hướng này, dự án đã chuyển sang một mô hình phát triển mở nhiều hơn.
Có những ví dụ khác về sự tham gia của các viện trường tương tự đang diễn ra trong các trường cao đẳng và đại học khắp nước Anh. Chúng tôi vui mừng để bổ sung ví dụ của bạn vào bài viết này. Xin hãy viết cho chúng tôi theo info@oss-watch.ac.uk và nói cho chúng tôi biết về điều đó.
So you’ve written some code
You’ve written some code for a project that you’ve been following for some time. You are participating on the users email discussion list. You have been quietly following the developers email discussion list. You have downloaded the source code found in the nightly build repository, and you have written your first patch for some feature of the code that you think needs tweaking.
Can you contribute this patch to the project?
Software is a copyright work
Source code for software applications is a copyright work. The copyright arises as soon as the ideas are placed in some fixed medium, which could be paper or electronic. Nothing special needs to be done for the code to be protected by copyright.
Copyright holders have the right to dispose of their copyright material as they see fit. This includes licensing it to be used in a variety of ways.
Open source software projects release their source code under OSI-certified licences. In order for your patch to be used in the project, it too would need to be licenseable under the same licence. You could accomplish that by either:
  • signing over the copyright in the code to the project; or
  • licensing the code for use in the project under an appropriate licence
Some projects insist upon the assignment of copyright. That certainly makes things easier for them later when they need to deal with licensing matters. That is just one of a number of possibilities.
Most projects merely require that you license the code you wish to contribute under a licence compatible with the project’s licence.
In either case, the same constraint applies: only the copyright holder has the power to either reassign their copyright or license their copyright material.
Do you have the right to license this copyright material?
Are you the copyright holder?
Most employees are not in fact the copyright holders for copyright material that is generated as part of their work. This will vary from institution to institution, and possibly between job roles within an institution. Please note: having written this code at home will not, by itself, indicate that you hold the copyright on it; you still need to check your terms of employment.
Whether you are the copyright holder for such material should be spelled out in your terms of employment. If you cannot find anything there, you may want to check any institutional policies, such as an Intellectual Property Rights policy, that are referenced by your employment contract.
You must establish who the copyright holder is before you go any further (and ideally before you’ve even got this far).
Are you in fact the copyright holder?
If you are the copyright holder
If you are in fact the copyright holder for the copyright material that you have generated, congratulations! You can do what you wish with your own intellectual property. This includes licensing it to be used in an open source project. You may even wish to assign your copyright to the project in question, or to the umbrella organisation (such as the Free Software Foundation) that is sponsoring the project.
You even have the right to dual license your code should you wish. This would occur if you were to license it to one person or group under one licence and license it at the same time to another person or group under a different licence. This is possible because the copyright holder can do anything they wish with their copyright material.
If you are not the copyright holder
If you are not the copyright holder then you must have the consent of the copyright holder for anything you wish to do with their copyright material. Often this is spelled out in your terms of employment.
In order to contribute your patch to the open source project in our example case, the copyright holder needs to explicitly consent to your contribution of its intellectual property. Moreover, it is worth noting that this has no effect upon the copyright itself.
Code contributed to open source projects often remains the copyright of the original copyright holder. In order to sign over your institution’s copyright, a much more formal process would need to be started. This usually involves legal documents needing to be exchanged, passing the copyright from one party to another. This can be an onerous process. As a result it is much more rare in the college and university setting.
But even if copyright is not being reassigned, consent must be obtained before the code can be contributed to the project. Furthermore, in a well managed project you will be required to provide this consent in the form of a contributor licence agreement.
How do you get the consent of your college or university to contribute their copyright material to an open source project?
Where to go first: the head of your department
Almost certainly your route is going to take you through whoever oversees intellectual property for your organisation. For example if you work in UK HE, that is likely to be legal services, research services, and possibly your institution’s technology transfer unit. But the first place to start is with your manager or department head.
If you are in luck, your manager or department head will have been delegated the power to decide such matters. There is a good example of this occurring at Oxford University Computing Services.
If you are slightly less lucky, your manager or department head may not have this delegated authority but at least will know the official set of steps that must be taken within your organisation in order to achieve its consent to contribute your patch to an open source project.
This will probably mean approaching your organisation’s legal services department. They would usually need a determination from some independent body, such as the technology transfer unit, as to the probable value of the intellectual property in question and any liability that the institution may be incurring as a result of this release of its IPR.
Regrettably the steps involved may be numerous, and are almost inevitably peculiar to your organisation. Nor do they guarantee that consent will be forthcoming.
A better way
Forward thinking institutions recognise that contributions of code, whether in the form of patches or even more substantial modules, are part of what is entailed by robust institutional engagement with open source. But how can they best facilitate this process?
For example, when the The Open University embarked upon the choice of Moodle as its future virtual learning environment (VLE), it also established how it would engage with Moodle’s ongoing development. The result is a substantial, but quantified and contained, investment in open source development. The Open University’s contribution of its intellectual property to the Moodle project doesn’t merely make Moodle stronger. It stands as an example of good practice in institutional engagement with the open source community.
Another example is the way University of Cambridge became involved in the Sakai partnership program. In the early stages of Sakai the main focus was on creating an administrative framework for the consortium of educational institutions involved in the project. The main aim was to ensure that the software releases were produced on time and according to an agreed list of priorities. However during a number of Sakai pilots it became evident that coordinating institutional contribution to the development of the code was only secondary to the overall sustainability of the project. Cambridge and other partners understood that building a community around the shared code was actually more important, and as a result of their efforts in this direction the project moved to a more open development model.
Dịch: Lê Trung Nghĩa

 

Thank for your comments

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s