Yes, I am a listening to everyone's feedback and second guessing my decision to make the Contribute module a dependency of the Webform module.
I was explaining to my 12 year old, Ben, the pushback I am getting around making the Contribute module a dependency of the Webform module and how most people agree with the Contribute module's general concept and message but are unhappy about how and where I placed it. Ben shrugged and says "So basically you are holding up a protest sign, people are agreeing with it but because it is inconveniencing them and they are upset at you and want you to remove it".
So the Contribute module is a protest/political statement; I am okay with admitting that. Many of the expressed concerns are immediately addressed by the fact that there are three different mechanisms to remove the dependency. The beauty of open source is that, if you don't like something, you have the freedom to change it.
For anyone truly worried that the Webform module will indefinitely depend on the Contribute module, it’s worth noting that all protests, political statements, revolts, and revolutions have to end at some point (aka release).
For the time being, however, I am going to keep maintaining the Webform module as well as working on (and defending) the Contribute module.
The Contribute module is not going bring down your website
A few people have expressed concerns about the Contribute module being unneeded and fear it is posing a security risk. Considering people are trusting my 10000+ lines of code in Webform module on production websites to build forms and securely collect data, this seems a bit extreme. To my mind, what seems like the biggest security risk in the Drupal community is unmaintained and unstable modules running on 100,000's of websites. The Rules module is a great example of key Drupal module that is still in alpha releases while being used on a production website. People need to contribute and help get out a stable release of the Rules module. Yes, I think challenges like this needs to be communicated directly in Drupal (the software), especially when people are running alpha releases of software on a production website.
Getting people involved to produce a stable release of the Rules module should be communicated directly in Drupal (the software).
Adding this dependency is going to destroy Drupal's ecosystem.
I thought some people above brought up some really good points about everyone in Drupal wanting to do something like this, but everyone choosing a different message (module) and how that would really destroy the ecosystem.
Yes, if every modules maintainer started to include different messages in their module things could get out of hand - I get that. It’s why I decided to build a dedicated module that conveys this extremely important message, "The question is not should you contribute, but how can you contribute." This message will hopefully strengthen Drupal's ecosystem.
The Webform for Drupal 8, which I have built from scratch on my own time, is currently one of the most well-maintained, well-thought out modules that provides a user experience welcoming new users to our community. The energy and passion that I have committed to this module does nothing but strengthen Drupal's ecosystem
Not everyone can/should support the Drupal Association
It seems silly that I have to continue arguing that everyone should support the Drupal Association. Every Drupal Association individual and organization membership, helps Drupal reach more people and communities. Improving diversity in the Drupal and Open Source community is only going to happen with outreach to underrepresented groups and communities...this requires money and people getting involved.
The argument that not everyone can afford to pay the membership fee is a reasonable one. Hopefully those of us who can afford to pay the membership fee will pay it and the DA can help poorer communities through outreach and scholarships.
Finally, acknowledging people's hard work and amazing contributions
One my key goals with the Contribute module is to remove the notion that Drupal is built and maintained by large organizations. Drupal and Open Source is built by individuals who may work for large organizations, but at the end of the day it is developers who write the software. The Contribute module is an effort to get individual Drupal users (and their organizations) involved in our community. Acknowledging core and project contributors as well as the Drupal.org staff is great way to showcase who is building and maintaining Drupal. It’s one step closer to accessing who we are - it gives it a name and a face, it invites us to get to know what’s possible, and who we’re working with.
The initial release of the Contribute module was simply meant to communicate the message that people should get involved by joining the Drupal community, becoming a member of the Drupal Association and contributing back to Drupal. Besides inspiring people to get involved, it’s important to acknowledge the people who are involved. Personally, I want to the say thanks to all of Drupal's core and project contributors. I know first-hand how important and valuable they and their work is to me and what I do.
Below are screenshots of the three new callouts in the Contribute module, which highlights Drupal core maintainers and coordinators, the Drupal Association staff and board of directors, and installed Drupal modules and theme contributors.
Should other module maintainers add the Contribute module as a dependency
This is a very tricky decision because some people reasonably disagree with this approach. At the same time, as contributors to Drupal we all struggle with the simple fact that we are part of a very small percentage of the community who is doing most of the work. The entire open source community is struggling with these challenges and change almost never happens without a strong push/statement. We can’t get answers if we don’t ask the questions.
Making the Contribute module a dependency is a statement.
If one or two key modules in the community were to even temporarily make the Contribute module a dependency for a release or two, it would help push our community to improve the messaging within our software and give visible credit to the people who are helping to build and maintain our software and community. And acknowledgment and understanding are key to growth. Not to sound totally preachy here, but the only thing we can say for sure is that change is inevitable, nothing can stay the same.
Personally, I am going to stick to my guns until DrupalCon Nashville. After DrupalCon Nashville, I look forward to tagging a stable release of the Webform module for Drupal 8, which won't include the Contribute module dependency.
The discussion will continue on Drupal.org
Even though some people disagree about how I have communicated this message; most agree with the message. I hope everyone can see that our code and software has the ability to communicate with every user and organization and it can be used to change people's mindset around contributing to Open Source. In the next week or so, I will be creating a core issue about the Contribute module and look forward to a productive and reasonable discussion. I care deeply about the work I’m doing here. I see it grow and change and want it to continue to do so. Each day gives us new opportunities to make it better and further its reach - it’s exciting stuff that warrants our attention and devotion. Call it protest if you will, but I like to think of it as opportunity.