Drush Make is an amazing tool that developers to create a snapshot of of how a site is built by detailing the different themes, modules, and other elements that will be a part of their build.
It eases the workflow of development by eliminating the need to constantly manually download and install code by hand, especially when you're using modules that are under constant development. It may not be obivious, but that type of build workflow actually encourages more participation in the Drupal community and it can be mostly contributed to the little quirk in Make to where it only uses remotely hosted patch files.
Many times in the world of open source and contributed software, there are bugs or even features that users find or would wish fixed/existed for a certain module or theme. For many, they come across bugs or think about features and create issues tickets on Drupal.org for that software. Unfortunately, that also starts one playing the waiting game for other developers to build out that functionality. On another side, there are those that take things in to their own hands and modify the code themselves but, that code doesn't make it back to the original code base to where others could use it.
With a little incentive, using Drush Make blends these two types together and creates a more involved community.
Patches Patches Patches
Many times during a project, I've run across a bug in a module or theme that we're using. Normally, my first instinct is to search the issue for the module or theme and see if it's a known issue with an available patch. If there's no patch, I like to look into the code and see where the bug is and work to fix it myself.
If I can fix the bug, I prefer to submit my patch to either an existing issue or create a new one for the project detailing the issue and provide the patch. Now, I've actually done a great deal just in doing that! I've provided a fix to other users of the project in the community as well as I now have the fix I can use in my own codebase. Not only that but, I may have just provided those busy busy maintainers with the solution that they may not gotten a chance to get to yet.
And with a quick addition to my make file, my changes can be applied to my codebase and I contributed back to the community!
"For Your Consideration"
I like to think of feature requests in the same manner. For many, feature requests end up becoming a wish list of wonders and unfortunately, sometimes they end up falling down a well of lost dreams. I prefer, if I can, to go ahead and build out the new feature and create a patch for the changes.
Now with that patch I can make a feature request and on top, provide a possible solution for implementation. Also, if those changes work for my project, I can still use the patch in my make file to include my new feature regardless whether or not the maintainer decides to include the feature in to their project. The key is that I didn't just wish, I shared!
Over time, thanks to Drush Make, I've increased my participation and communication with the Drupal community. As one whom has contributed code to the community from my own development, it feels really good to have also contributed to others works. In the end, that's what the community is all about. A collective of people working together to build and expand a project(s) that anyone can use.
To me, that's awesome.