Skip to end of metadata
Go to start of metadata

Contents

Search KS Contribution and Support

Overview: What is contribution?

To contribute is “to give or supply in common with others” (merriam-webster).

This term has become a strategy employed by open-source communities to initiate, develop and sustain projects. Apache Foundation, PHP, Fluid, Sakai, JA-SIG, Linux, GNU, WordPress, and Perl are examples of where like-minded individuals bound by a common goal supplied expertise and code to create a product.

At Kuali Student, our in common goal is to create the next generation Student Software System with our community members.

Kuali Foundation Guiding Principles

Kuali Student embraces the Kuali Foundation guiding principles for contributions:

  1. Keep the bar low for initial contributions. Encourage people to share the work that they have done, and do not overwhelm them with overly complex requirements and processes.
  2. Keep the bar high for obtaining Kuali's QA seal of approval. Kuali's QA Team assures that our core assets, which include source-code, documentation, configuration files, and other intellectual property, meet stringent quality standards. Contributions that are expected to become core Kuali assets must meet these same stringent QA standards.
  3. Ensure a minimum level of community support. While the Kuali Foundation is committed to facilitating collaboration, it has limited resources to support such efforts and must rely on the community to provide a minimum level of support for their projects. Contribution efforts require that the contributing party and the relevant Kuali Project play important roles in accepting and sustaining contributions.
  4. Encourage contributions at conception. By engaging the Kuali Foundation early on in contribution projects, the Foundation can help ensure that the community is aware of the contribution so that interested parties can collaborate and not duplicate the effort.

Kuali Foundation Minimum Requirements

Kuali Student contributions must adhere to the following minimum requirements:

  1. Source Code License: Licensing must be clean before the contribution code is moved into Kuali's source control system and/or put into a Kuali distribution. The license must not violate the policies set by the Kuali Foundation.
  2. Intellectual Property (IP) Audit: The contribution code has been through a source code license review audit and the results are consistent with the Kuali Foundation licensing policies.

Process

With the understanding of the Kuali Foundation Requirements and the Guiding Principles, Kuali Student developed a local set of processes to operationalize the contribution process. (Note: as the Kuali Foundation process changes and matures, so will the Kuali Student processes).

The Kuali Student Contribution Process can be thought of as three separate phases: Incubation, Development and Support. Each phase is composed of a set of processes, roles and requirements.

1. Incubation

The goal of the Incubation Phase is to prove value and desirability of an idea by clearly defining the business case, identifying and securing resources, and building consensus within the community. Contributions may leave this phase when a business case has been clearly defined, commitment has been secured, a design is in place, and Functional Council approval has been obtained.

2. Development

The goal of the Development Phase is to code and test the contribution. Coordination between contributor and/or contributing teams and the KS Project team is paramount to success. The contribution is released after quality checks have passed.

3. Support

The goal of the Support Phase is to maintain existing code and provide an avenue to fix defects. Contributions committed to trunk are supported and maintained by the Kuali Student Project Team. These contributions are considered "core" contributions. A contribution that is not committed to trunk and lives outside of KS, the Contributor owns support and maintenance. These type of contributions are considered "non-core" contributions.

There is an SVN available for housing code as necessary: https://svn.kuali.org/repos/student/contrib/unsupported/

Roles and Responsibilities

The roles vital to the contribution process are defined here:

Role

Responsibilities

Community Member

Community Members are the people who use Kuali Student. People in this role aren't contributing code, but they are using the product, reporting bugs, making feature requests, etc. A member has an account on the Kuali Information System. 

Community Contributor

A Community Contributor is a member of the Kuali Student Community and may or may not be affiliated thru a Founding Institution, a Partner or other supporting group. Contributors are community members who write code or update documentation or contribute positively to the project in other ways.

Project Team

The Kuali Student Project Team is responsible for the oversight and shepherding of all contributions thru the contribution process both at the project level and foundation level. 

Functional Council

Per the chartered KS Roles and Responsibilities, the Functional Council is responsible for ensuring that Kuali Student meets the needs of the institution from a functional/ business requirements perspective. Council members are empowered to speak for their respective institutions. The Functional Council is responsible for reviewing enhancement submittals as well as advise the Kuali Student Product Manager on the suggested course of action for each enhancement.

Kuali Foundation

The Kuali Communications and Collaboration Team, composed of the Kuali QA Director, Kuali Configuration Director and Member Liaison, is responsible for the oversight and coordination of Kuali Foundation Contribution process. The process extends across all Kuali projects and provides minimum rigor and support for community contributions.

  • No labels