Thank you for being part of the extended Metabase family! Whether you are looking for help, or are willing to offer help, we appreciate you taking the time to reach out to us.
Below is a description of the kinds of jobs that we’ll be trying to facilitate, as well as what to expect.
This refers to a specific reported and acknowledged bug. Its root cause might be known or unknown. The expectation is that the fix will solve a root problem and not a symptom. You should expect to provide backend, frontend and/or End-to-End tests for the fix to receive the bounty. The bounty will be paid on merging of the Pull Request and the acceptance of the fix by the person posting the bounty.
This refers to a feature that is on the Metabase project roadmap. The expectation is that during the course of work, the requestor and the consultant will work closely with the Metabase team. For more information check out our contributor guide. Please note that the Metabase project has very strict requirements for any external pull requests. In the event that the feature does not already have a functional, UX or visual design, you should expect a review of your proposal by the core team. Similarly, the pull request will have a code review, and it is likely that we’ll ask you to make changes in style, function or test coverage. All major features will also need documentation of how they work.
Please factor these steps into your engagement. Note that our connecting you does not mean these checks will be waived or that we will necessarily merge your pull request.
There will be cases where the Metabase team has decided that certain feature requests are outside of the scope of the core project. We will inform you prior to connecting you, but please check in with us if you think there is any grey area.
While Metabase supports a large number of databases, we’re always looking to add support for more. For more information about how to write a driver and expectations, please read our guide to writing a driver. A key part of any database driver is extensive testing, and plugging into our continuous integration and testing infrastructure. Any driver will need to meet our test coverage requirements, and will need to work with our CI setup prior to being merged. If the underlying JDBC database driver is not compatible with the AGPL, you will also need to coordinate
For all of the above classes of additions, please note that all developers who write code that is intended to be included in our main GitHub repository will need to sign our contributor license agreement.
As a reminder, any and all additions to Metabase will be reviewed according to our standard process for accepting contributions and no exceptions can be made to our UX , code quality or testing requirements.
Note: We will attempt to pool bounties for bugs, features and database drivers as we can to make sure that features that multiple members of our community are willing to pay for are appropriately compensated. We’re still working out how to do this, and will let you know in the event that there are multiple users who need a given issue fixed.
These are features that are not expected to be merged into the main metabase GitHub repository. The expectation is that they will run in a custom fork, or be an add-on that uses the Metabase API to do interesting things. You don’t need to run any designs or code by the Metabase team. However, we recommend doing so to make sure that any changes you make or any API endpoints you use are done in a way that makes keeping up with Metabase upgrades easy.
Also, please note that the main Metabase repository is released under the AGPL license. We expect all Network partners to respect the terms under which we’ve shared our application. If you need clarifications as to whether what you’re planning on doing plays nicely with our license, please ask.
While we’ve tried to make Metabase as easy to install as possible, sometimes you either have specific requirements, or you just want to offload this from your team. This is a one-off job that involves setting up a working Metabase instance and connecting it to a data warehouse. Often times, connectivity to the desired database or data warehouse can be an issue, so we recommend discussing this in depth before agreeing to a specific time or price.
Keeping Metabase up to date and making sure that things are humming is easy but can take up a bit of time. This is ongoing agreement to keeping you running the latest version of Metabase, as well as making sure things like email, slack integration, etc and working. Note that this does not include support or bug resolution.
In both of these, the expectation is that you will use the most recently available stable version of Metabase.
This refers to setting up a given data warehouse, whether managed (eg BigQuery, AWS Redshift, etc) or on site. It might optionally include ongoing support.
This refers to getting data into an existing data warehouse. If might involve working with APIs, other programs data export functionality, etc.
This refers to both tuning the data warehouse server software and/or writing transformations that make common queries faster.
Other Analytics and Data Science