Contribute

There are a lot of ways that you can contribute to this project depending on your interests and talents.

  • You can register with this site to help us gauge interest in mojoPortal. I promise we won't share your email address and we won't spam you.
  • You can purchase add-on products from our store, this is the primary source of revenue that funds the continued development of mojoPortal
  • You can provide constructive feedback and suggestions for improvements
  • You can help other users with their questions in the forums
  • You can provide a translation into a new language or help maintain resources for a language as new features are added
  • You can design nice skin(s) and contribute them to the project
  • You can provide bug reports and/or fixes if you find any
  • You can implement features and contribute them to the project
  • You can implement improvements to existing features
  • You can help with creating documentation and tutorials
  • You can help spread the word and promote the project
  • You can contribute financial help or sponsor a feature

If you have questions about contributing, please post in the forum (you must login)

Licensing and Contribution Guidelines

mojoPortal is licensed under an OSI (Open Source Initiative) approved open source license, but it is also a software product primarily developed and supported by a for-profit company, i7MEDIA. As such all contributions of source code must be approved by us since we will be the ones who have to own and support those code changes for the lifespan of the product. We welcome high-quality contributions that fit in with our vision and project plan but we do not accept all contributions from anyone who wishes to contribute. Sometimes people want to make changes that we do not agree with or that we may agree with but the timing may not be right due to other things going on in the project plan. So, please feel free to propose your ideas and share your enthusiasm, but also be prepared for the possibility that we may not agree with your proposal or may not wish to incorporate your proposed changes until other parts of our plan have been completed.

Anyone Can Submit Small Changes

For small patches or bug fixes to existing code, you can post the code change and the reasons to justify the code change in our forums, either the bug forum or the developer forum or the contributor forum, whichever seems more appropriate to your change.

A Signed Contributor Agreement Is Required for Substantial Contributions

In order to contribute any code consisting of 10 lines or more of new contiguous code, you need to submit a signed contributor agreement that grants joint copyright of your source code contributions to i7MEDIA. This allows us the flexibility to change our open source license if we ever deem that to be desirable and also allows us the possibility in the future to dual license mojoPortal under a commercial license for customers who may prefer commercial licensing. If you are under a contract where your employer owns all source code that you produce then the form must also be signed by an authorized representative of your employer. We will not accept nor even review any large code changes until this agreement is on file with us.

Due to the modular nature of mojoPortal many features can be developed as separate projects and do not require any changes to the core of mojoPortal. If you'd like to develop a new feature to share with the community you can typically do so without any involvement needed by the core development team. If you develop something that you think would be good to include with mojoPortal we'd be happy to hear about it and may consider integrating it as long as it meets our criteria for quality and you are able to contribute it under our contributor agreement. In order for a feature to be included with mojoPortal it must provide support for all the database platforms supported by mojoPortal, however, we may be willing to implement the other data layers for you if the feature is compelling and well implemented for at least one of our supported database platforms.

Development Team Plan

Currently, there are only a few people who have commit access to the source code repository. Many developers will not need commit access to contribute to the project because they can easily send files or patches to be reviewed and committed by the core developers. Those who consistently contribute code that requires little or no modification will be considered for commit access. Often contributors just contribute one feature or a few bug fixes or skins or translations and this can easily be done without commit access. No long term commitment is needed, if you have a feature you would like to implement and contribute your help is most welcome. If you do show continued interest and involvement that is even better but certainly not required. Even small contributions are welcome.

I think the development team will grow organically over time. As we get a few more trusted core developers on the team that I can delegate to help with coordinating contributions from others the process will get more efficient.