Skip to content

Latest commit

 

History

History
82 lines (64 loc) · 4.21 KB

CONTRIBUTING.md

File metadata and controls

82 lines (64 loc) · 4.21 KB

Contributing Code to the Kaltura Platform

Kaltura is a multi-project platform. It consists of various back-end and front-end projects, written in several programming languages using different FOSS frameworks/libraries/technologies. This document was put together to guide you as a developer getting started with Kaltura, walk you through the different code repos and the best practices when contributing code.

Signing the Contributor License Agreement

When you merge new code to the Kaltura Platform, we require that you sign the Kaltura Contributor License Agreement (or "CLA"). The CLA license is for your protection as a Contributor as well as the protection of the Project and its community members. It does not change your rights to use your own Contributions for any other purpose, and does not require any IP assignment of any kind. If you're working on a Kaltura project, or can clearly claim ownership of copyright in what you'll be contributing to the project, the CLA will ensure that your contributions are protected and that the project will forever remain free to be used and modified by the global community.

As references, we encourage reviewing other known projects and their respective CLAs -

Please CLICK HERE TO SIGN the Kaltura CLA digitally using your GitHub account. You can also download the Kaltura CLA in PDF format, sign it and email to community@kaltura.com.

Which Repositories Should I Contribute To?

The main repos are:

For a full listing of our FOSS repos, see https://github.com/kaltura.

If you are uncertain as to which project a specific code belongs to, please run:

$ rpm -qf /path/to/file
$ rpm -qi package | grep URL

or, if using a deb based distro (Debian/Ubuntu):

$ dpkg -S /path/to/file

For example:

$ rpm -qf /opt/kaltura/app/batch/bootstrap.php 
kaltura-base-9.16.0-1.noarch

$ rpm -qi kaltura-base | grep URL
URL         : https://github.com/kaltura/server/tree/IX-9.16.0

In this case, the file belongs to Kaltura's Core at https://github.com/kaltura/server

Reporting issues

When reporting an issue, please make sure you include the version used.

# You can get the version using:
$ rpm -q package
# or when using the deb packages:
$ dpkg -l package
# And you can get debug information (handy with reporting issues) using:
$ /opt/kaltura/bin/kaltura-sanity.sh

This can help you diagnose the issue by yourself, if it does not, include the resulting output in your report. For questions, rather bug reports, please post at https://forum.kaltura.org.

Contribution Guidelines

  • Please submit separate pull requests per feature/bug (it makes reviewing and approving code contributions easier)
  • Every commit should have a meaningful description
  • If the code has unit tests, they must pass before the pull request can be merged
  • When submitting a new feature, unit tests must be written and included in the pull
  • Whenever possible, implement features as plugins, not by modifying Core code
  • Always keep performance in mind

Submitting Pull requests

  1. Fork the default branch of the relevant repo
  2. Create a branch with a meaningful name; i.e - some-feature-name-fix
  3. Make a pull request

Thank you for helping make Kaltura even more awesome! :)