96 lines
4.7 KiB
YAML
96 lines
4.7 KiB
YAML
uuid:
|
|
- value: 44e71b80-61a3-4376-83aa-3b975401942b
|
|
langcode:
|
|
- value: en
|
|
type:
|
|
- target_id: daily_email
|
|
target_type: node_type
|
|
target_uuid: 8bde1f2f-eef9-4f2d-ae9c-96921f8193d7
|
|
revision_timestamp:
|
|
- value: '2025-05-11T09:00:00+00:00'
|
|
revision_uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
revision_log: { }
|
|
status:
|
|
- value: true
|
|
uid:
|
|
- target_type: user
|
|
target_uuid: b8966985-d4b2-42a7-a319-2e94ccfbb849
|
|
title:
|
|
- value: "Contrib-first doesn't mean building for every use case"
|
|
created:
|
|
- value: '2025-03-10T00:00:00+00:00'
|
|
changed:
|
|
- value: '2025-05-11T09:00:00+00:00'
|
|
promote:
|
|
- value: false
|
|
sticky:
|
|
- value: false
|
|
default_langcode:
|
|
- value: true
|
|
revision_translation_affected:
|
|
- value: true
|
|
path:
|
|
- alias: /daily/2025/03/10/contrib-first
|
|
langcode: en
|
|
body:
|
|
- value: |
|
|
<p>Most Drupal projects include writing custom code to add functionality required for that project or that doesn't yet exist.</p>
|
|
|
|
<p>Some of this may be identified as code that could be contributed back to the Drupal community and uploaded to Drupal.org as reusable code for others to use.</p>
|
|
|
|
<p>Usually, this involves "cleaning up" the code to make it ready to be open sourced - ensuring it complies with coding standards, follows best practices and doesn't contain any sensitive or project-specific data.</p>
|
|
|
|
<p>Unfortunately, this doesn't always happen as the next project or task is waiting to be started, and the code is never contributed.</p>
|
|
|
|
<p>I like to do contrib-first or contrib-driven development, where the code is open sourced upfront, developed in the open and used on the project as I'm developing it.</p>
|
|
|
|
<p>A common argument to this approach is that it takes too much time.</p>
|
|
|
|
<p>I assume that's because people think I need to cover every use case and situation in the module because I'm open sourcing it.</p>
|
|
|
|
<p>That's not true.</p>
|
|
|
|
<p>When I wrote modules like <a href="https://www.drupal.org/project/system_user">System User</a>, <a href="https://www.drupal.org/project/null_user">Null User</a> and <a href="https://www.drupal.org/project/private_message_queue">Private Message Queue</a>, I wrote the same code I'd have written if I was going to contribute it later - but I didn't need to clean it up afterwards.</p>
|
|
|
|
<p>I didn't need to ensure it didn't contain anything I'd need to remove.</p>
|
|
|
|
<p>It wasn't a big task to open source them as they were already open sourced.</p>
|
|
|
|
<p>If other people want to use the module and need additional features, they could open an issue, submit a patch or create their own patches.</p>
|
|
|
|
<p>Just because code has been open sourced doesn't mean it needs to do everything for everyone.</p>
|
|
|
|
|
|
format: full_html
|
|
processed: |
|
|
<p>Most Drupal projects include writing custom code to add functionality required for that project or that doesn't yet exist.</p>
|
|
|
|
<p>Some of this may be identified as code that could be contributed back to the Drupal community and uploaded to Drupal.org as reusable code for others to use.</p>
|
|
|
|
<p>Usually, this involves "cleaning up" the code to make it ready to be open sourced - ensuring it complies with coding standards, follows best practices and doesn't contain any sensitive or project-specific data.</p>
|
|
|
|
<p>Unfortunately, this doesn't always happen as the next project or task is waiting to be started, and the code is never contributed.</p>
|
|
|
|
<p>I like to do contrib-first or contrib-driven development, where the code is open sourced upfront, developed in the open and used on the project as I'm developing it.</p>
|
|
|
|
<p>A common argument to this approach is that it takes too much time.</p>
|
|
|
|
<p>I assume that's because people think I need to cover every use case and situation in the module because I'm open sourcing it.</p>
|
|
|
|
<p>That's not true.</p>
|
|
|
|
<p>When I wrote modules like <a href="https://www.drupal.org/project/system_user">System User</a>, <a href="https://www.drupal.org/project/null_user">Null User</a> and <a href="https://www.drupal.org/project/private_message_queue">Private Message Queue</a>, I wrote the same code I'd have written if I was going to contribute it later - but I didn't need to clean it up afterwards.</p>
|
|
|
|
<p>I didn't need to ensure it didn't contain anything I'd need to remove.</p>
|
|
|
|
<p>It wasn't a big task to open source them as they were already open sourced.</p>
|
|
|
|
<p>If other people want to use the module and need additional features, they could open an issue, submit a patch or create their own patches.</p>
|
|
|
|
<p>Just because code has been open sourced doesn't mean it needs to do everything for everyone.</p>
|
|
|
|
|
|
summary: null
|
|
field_daily_email_cta: { }
|