Skip to content

Commit

Permalink
Add Contrib First FAQ (#1515)
Browse files Browse the repository at this point in the history
* Add Contrib First FAQ

* Repair ordered list in FAQ

* Add .md to link.

* Remove one directory back on link.

* Added details and another FAQ

* Remove 10% estimate.

* Ignore long heading line.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix bad heading  level.

---------

Co-authored-by: Steve Wirt <Steve Wirt>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
  • Loading branch information
swirtSJW and pre-commit-ci[bot] authored Feb 11, 2025
1 parent 280943d commit c988c47
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions common-practices-tools/contribution/contrib-first.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,29 @@ It is a best practice to consider first if we are building something that could
- [Vertex AI Search](https://www.drupal.org/project/vertex_ai_search)

See more of [CivicActions Drupal contributions](https://drupal.org/civicactions).

## Frequently Asked Questions

<!--lint disable maximum-heading-length-->

### Does building by Contrib First cost more?

Not typically. There are three significant offsets that make Contrib First the more affordable option:

1. Having Open Source community members also work on "feature requests" that are defined during the build process can take advantage of cost free work.
2. Custom code required custom tests that run on the project's infrastructure, while contributed code has tests that run on the contributed framework hosting.
3. If one agency has built it, other agencies don't have pay to build it.

### Does contributed code cost more to maintain?

Generally speaking, no it does not cost more. In total cost of ownership, contributed code is less expensive to maintain than custom code. Contributed code usually gets updated by update bots when there are changes needed. They make issues and merge requests automatically. The same code existing as custom code has to be updated by project personnel when the need for a change is discovered. In addition, with a broader user base, Open Source community members are more likely to uncover bugs or inefficiencies and provide improvements.

### How de we decide between what is worth contributing and what is too specific to a project to have more general appeal?

Our engineers are pretty good at recognizing opportunities to re-use their work across multiple projects. This is especially true in the Government sector where agencies often have similar requirements. If we have even a hint that multiple agencies could benefit, we build it as contributed code first. If it starts out as something so specific to a given project that it can no be generalized, the we build it as custom code for that project. However we continually re-evaluate our custom code to see if, over time, it has become something that is worth contributing.

### Does developing by Contrib First take longer?

In our practice, marginally. Largely the increase comes in specifying the bite sized issues on the Open Source issue queue. If following [good Contrib First development practices](../../practice-areas/engineering/drupal/drupal-contrib-first-module-development.md) small bite sized issues take a little longer to write, but they greatly increases the chance that a community member will grab the ticket and work on it. On our recent build of the Alt Text Validation module 10 out of the first 37 commits (27%) came from community members.

<!--lint enable maximum-heading-length-->

0 comments on commit c988c47

Please sign in to comment.