Wiki Spaces
Mantle Business Artifacts
Moqui Applications
Moqui Community
Moqui Framework
Page Tree
Moqui Community


All Pages

Contributor Guide

Why Contribute?

An open source project, or an ecosystem of open source projects like Moqui, only exists because of contributions. This is especially important for unfunded, community-driven open source projects that have no corporate backing. While there are many individuals and organizations doing business based on Moqui projects there is no single entity that owns or controls the code, business artifacts, documentation, etc.

That's all great, but what do I get from contributing?

  • Marketing
    • as a consultant or service provider contributions including code, answers to questions, work on issues, etc is a way to demonstrate your expertise and bring in business
    • as a developer, business analyst, etc you can do what you do best as a marketing effort instead of or along with more traditional and expensive marketing
  • Best Practices
    • while some will just use Moqui Ecosystem projects as-is the primary target audience is those who customize applications for a single organization to use or build products for many organizations to use
    • enterprise applications are by nature large, complex things and significant work has been done in framework tools, business artifacts, and applications to make that easier
    • while some best practices are established and documented many evolve and improve over time
    • by contributing and participating in community efforts you will learn a lot and get feedback on your proposals that will save you time and make your life easier
  • Collaboration
    • business application are too large and complex for any individual to fully understand and effectively work on alone
    • even if your project or product is well funded you could never hire as many people as participate in and contribute to open source projects
    • whether working as an individual or part of a team when you work with other contributors you are part of a much larger team whose expertise and efforts you can benefit from
  • Influence
    • the open source tools, reusable artifacts, and applications are constantly being improved and expanded
    • by contributing you can influence the approach to handling specific requirements or even add automated tests to make sure the critical functionality you rely on continue to work how you need it to over time
    • in many cases small changes to tools or reusable business artifacts (services, etc) can make it much easier to do what you need to and make the solution easier to maintain that writing something custom
    • while much of the new functionality over time comes from sponsored development many improvements and new features are added based on community feedback and contributions

Getting Started

  • Read the Issue and Pull Request Guide
  • Create a GitHub account (if you don't already have one)
  • Watch and Fork repositories on GitHub
    • For each repository you plan to contribute to click on the Watch, Star, and Fork links at the top right of the repository page
    • To most easily create pull requests on GitHub you may create multiple git forks for different features or sets of changes; on GitHub when you create a pull request it will include all commits to that repository
  • Subscribe to mailing lists for commit notifications and development discussions
  • Join the Moqui Ecosystem group on LinkedIn for wider audience discussions
  • Watch the 'moqui' tag on StackOverflow

Becoming a Moderator

Under the moderation model used for all Moqui Ecosystem projects a moderator is an individual with write (push) access to one or more repositories. Many open source organizations use the term committer for those with write access. The term moderator implies more than just being a committer. A moderator is a member of the core group responsible for the overall health and quality of the code including considerations like backward compatibility and applicability to a wide variety of technical and business requirements going beyond the concerns of any particular project or product based on the open source code.

Moderators are added by invitation only. To be invited simply contribute over time by doing the following:

  • understand existing code and business artifacts you wish to be more involved with
  • submit high quality pull requests
  • review, test, and comment on pull requests from others
  • respond to questions and issues on GitHub and StackOverflow
  • participate in general discussions on LinkedIn and development discussions in the Google Groups