Skip to content

Latest commit

 

History

History
49 lines (28 loc) · 6.81 KB

Contributions-4-2-Ind.md

File metadata and controls

49 lines (28 loc) · 6.81 KB
layout title nav_order has_children permalink
default
Open Source Contributions
2
true
/Contributions-4-2-Ind

Ethical Responsibilities

Anyone representing a company as a professional in the open source software community are presented with unique opportunities, but also entrusted with significant responsibilities. That employee becomes part of the company’s branding, representing its values and commitment to collaboration, innovation, and excellence in every interaction with the open source community. It is essential to not just develop the technical expertise but have strong ethical mindset that is aligned with the specific demands and the subtle distinction of the role. Understanding and executing these responsibilities are of greatest importance when participating in open source software initiatives.

personal benefits{:height="auto" width="60%" style="display:block; margin-left:auto; margin-right:auto"}

Key responsibilities and best practices:

As contributing employee, it is crucial to

  • Understand company policies: Read and understand the company's code of conduct and its policy on open source contributions. Ensure staying within them and secure the necessary approvals to contribute to the project. Keep in mind that the employee is responsible for his/her conduct and should always act with the company's principles and values in mind. In situations where the right course of action is not clear, the employee should not hesitate to contact and consult the company’s support functions. As a general principle, if something seems unethical or improper, it probably is.

  • Build legal and IP skills: Be knowledgeable about open source licenses, contributor license agreements (CLA), and developer certificate of origin (DCO) to ensure compliance and avoid legal pitfalls. Protect company IP and ensure not to share proprietary or otherwise confidential company information, see Module 3.

  • Respect community norms{:target="_blank"}{:target="_blank"}: Each community has its own culture, norms, guidelines, agreements (CLA or DCO) and codes of conduct, see Module 3. Understand and respect these rules and guidelines, including contribution guidelines. Contribute in a manner that is in harmony with the community's culture. Ensure that these expectations are in line with the company's policies and code of conduct.

  • Be honest and sincere: Be transparent with company affiliation when contributing to open source projects. Identify and disclose any potential conflicts of interest. Always act ethically and contribute with integrity.

  • Understand the objectives: Grasp the company’s overall strategic objectives and the project’s specific goals. Clearly understand the reasons for the company involvement in the open source software project, and ensure that any actions and contributions align with these objectives and the company’s broader mission, see Module 2.

  • Keep high standards{:target="_blank"}: Maintain the quality and professionalism expected of the company, including excellence in coding, documentation, and communication. Represent the company in a professional manner in all interactions within the community.

  • Contribute meaningfully{:target="_blank"}: Read through the project documentations, including issues trackers and learn from past discussions and ensure understanding of the community's needs, priorities, interests, and way of working. Prioritize features and issues that align with the company's interests and contribute to them. Document and explain why the contributions are important and valuable to the project and for the use cases.

  • Stay updated{:target="_blank"}: Open-source projects evolve rapidly. Stay engaged and keep up with the latest updates and trends in both technologies used and the business industry. Cultivate a curious mindset and develop technical and communication skills.

  • Collaborate{:target="_blank"}: Work closely with internal teams to harness collective expertise and be efficient. Learn how the project members communicate, and participate in community discussions, forums, mailing lists, and building relationships. Build and maintain relationships among community members, company employees, and other technical leaders within software development.

  • Cultivate community spirit{:target="_blank"}: Embrace a positive and friendly attitude towards community members and company employees. Never disrespect or discriminate but foster an inclusive environment. Being nice and welcoming other contributors helps to build a supportive and collaborative environment.

  • Have patience and empathy{:target="_blank"}: Be patient and understand that responses and deliveries could take time and respect that different contributors have different schedules and responsibilities.

  • Value feedback{:target="_blank"}: Listen to and learn from others. Be open to feedback and show willingness to change if necessary.

  • Be firm{:target="_blank"}: Advocate confidently and politely for what is right for the project and the company. People often demonstrate a greater capacity for understanding when approached with respect and provided well-reasoned arguments.

  • Practice a healthy work-life balance{:target="_blank"}: Schedule and take regular min-breaks throughout the working day. Invest in personal time, be active and make time for what matters.

While this list provides key principles regarding responsibilities and ethical considerations expected by an employee contributing to open source software projects, it is not exhaustive. In addition, the outlined principles can be adapted to suit various roles within open software contribution, when developing role-specific descriptions.

Embracing these responsibilities cultivates ethical professionalism, ensures project’s sustainability, and safe-guards community integrity. It can also elevate company image and paves the way for the engineer’s career success. This not only benefits the individual, but the entire open source software ecosystem.