This afternoon my wife and I went to the Families Belong Together protest at the Unitarian Universalist Church of Augusta, and organized by a few of their members, Progressives for Democratic Reform, along with a few other like minded groups that think tearing families apart is repugnant (at best).
This is a guest post from my wife, and co-Guardian ad Litem, Elizabeth Georgian. You can read more about our Guardian ad Litem work in this previous post.
In a world that at times seems to grow increasingly uncaring, chaotic, and impossible to change, two sets of teenagers, a century apart, living remarkably different lives, may offer us a path forward.
On March 25, 1911, 145 textile workers perished in the Triangle Shirtwaist Factory fire. They died of smoke inhalation, flames, or from injuries sustained as they leapt down the elevator shaft or out of the ninth story windows. The factory owners had locked these young, largely immigrant women in their building so they could inspect their bags as they left and on that day no one remembered to free them.
Two years earlier, the Triangle Shirtwaist factory workers had gone on strike, as part of a larger effort on the part of textile workers across New York city. As these young women picketed, marched, and struck, police beat them, with the approval of many bystanders. The media paid little attention, except when a small number of wealthy women joined them in their protests.
Few non-working class New Yorkers cared that the children spent their days in factories not schools, immigrants lived in dire poverty, and working conditions were hazardous. It was only in death that they became human.
From the American Experience documentary about the fire:
Newspapers, public officials, the wider world had begun to attach names to these Triangle workers by then: Rosie Bassino and her sister Irene; Max Lehrer and his brother Sam; Mary Goldstein; the Saracino sisters; Michela Marciano, who had survived an eruption of Mt. Vesuvius before emigrating to America; Rose Manofsky, whose little sister had lost her sole source of support; and Salvatore Maltese, who had buried every female in his household: his wife Catherine, his 20-year old daughter Lucia and his daughter Rosaria, who was – at 14 – the fire’s youngest victim.
Apathy and even hostility towards the labor movement finally changed to outrage, support, and eventually significant reform as these invisible women suddenly became visible.
One hundred years later, the official charge from the family court to Guardian ad Litems charges us with conducting an independent investigation so we can make recommendations to the court. To conduct those investigations, guardians have a right to sit in on all meetings about the teenagers we advocate for, visit their schools, talk to their teachers and doctors, and see where they live and meet with their caregivers. In doing so, I discovered to my amazement, that I have the power to make an invisible child–often poor, neglected or abused, afraid to open-up, justifiably suspicious of the system, and sometimes openly hostile–appear human. All of a sudden an angry school principle stops seeing a defiant, scary teenager in need of expulsion and instead sees a child afraid of the world and in need of help rebuilding trust.
Recently, while working with the staff in for-profit group homes, I have stumbled on the power of the language of motherhood. While I don’t actually consider the teenagers we work with children, I use that language, I describe them as my children and myself as their mother, at least figuratively. The effect is polarizing. For a few adults, the reminder that the person they are intent on punishing is a human being and someone’s child makes them angry. But more often than not, that language de-escalates tense situations, helps me refocus conversations around the children’s strengths rather than their perceived failings, and leads us out of confrontation into negotiation or even creative problem solving.
Increasingly I see part of my role as showing the teenagers that they don’t have to be invisible. That they have rights that deserve to be respected, needs that deserve to be met, feelings that deserve to be honored. And seeing me stick up for them helps them see themselves as more valuable and also more powerful. Sometimes I am rewarded by watching them learn to successfully advocate for themselves and make a difference in their lives, to see themselves as powerful.
Today, the anonymous victims of textile factory fires are still poor women, still invisible, but this time we ignore them because they live in foreign places that most of us have never seen: India, Pakistan, Bangladesh, even while, like New Yorkers, we wear the clothes they make.
So who else am I still leaving invisible? Who are you making visible?
Like last year I’m keeping an extremely rough setup of notes from DrupalCon as a repository of things I’m picking up and tracking of sessions that looked like they would be interested but that I couldn’t attend because I was in another session. I’ll clean then up a bit and add to them over time.
Thank you to everyone who worked so hard to make the event a success.
I’ve assembled a playlist of the various sessions I though were good when I attended, or looked good but couldn’t attend.
Monday I attended the Community Summit, and while I had lots of great discussions, I didn’t take a lot of notes. The biggest two things I noted were that Western New York DUG is doing interesting stuff with online meetings that might be worth checking out and emulating for the SC DUG. And that Mid-Camp keeps a list of all the various channels that have videos of Drupal Camp sessions.
The current roadmap looks pretty cool, assuming everything comes together as well as we all hope it will:
— DrupalCon Nashville (@DrupalConNA) April 10, 2018
Dries showed off some great stuff from the new demo site called Umami. Umami has been committed for 8.6, and we might be able to see it later in 8.5
— webcsillag (@webchick) April 10, 2018
JS modernization and a new admin interface design are on their way, media library is part of that, but is likely a year out from being ready for prime-time.
Webchick summed this section of the talk nicely:
— webcsillag (@webchick) April 10, 2018
We are very over due for the needs of content creators, so it’s great to see meaningful headway on some of these processes.
Dries then moved on to start talking about values. It’s something he’s still not clearly fully comfortable doing, but it was good to see him try. The first public version of his attempt to define a set of values is up.
My read is that its well intended and has some ground to cover is it gets revised. I haven’t done a deep dive into its details yet, nor the response, but early reviews are mixed.
— Heather Rodriguez (@hrodrig) April 10, 2018
Although there was much less discussion today in hallways and informal chatting than I’d expected to here.
And there is definitely some ground to cover on issues that got us here in the first place:
Tech conf presenters who are white dudes, with slides of only images of white dudes, quotes only from white dudes
as a service
— Johanna Bates @ 18NTC (@hanabel) April 10, 2018
(That’s not related to the DriesNote directly, something she ran into at later session but was on topic of my comments)
This was a really good session on accessibility with both a real world set of examples and realistic discussions of what’s hard and what happens when things pass tests but don’t get tested by humans.
Major take aways:
- Modern tools support JS and it no longer gets in the way of accessibility. WCAG 1.0 said this was a problem 20 years ago, but that’s not the current best practice.
- There are constraints to the work because of accessibility, but it they don’t have.
- “There are times that I go to use an interactive calendar on the web and all I hear is 1, 2, 3, 4, 5, 6, 7, 8, 9, and so on to 30 or 31…with no indication that these are dates…just a mass of numbers in the middle of the page.”
- We used to test sites by disabling CSS/JS. Now it makes more sense to try to navigate the site with a keyboard and see what happens. Remember that just because something is possible it doesn’t mean it’s obvious or good. This doesn’t get you to a great site, but allows you to pick off errors before someone finds them for you later.
- When you tab to things, the visual affordances some designers hate can be put back in as a compromise for people using accessibility tools.
- I need to spend more time with the iPhone voice over tool so I can test things better.
Things I didn’t go to in this window:
- Making Inclusion Happen Through Mentoring
- Build banging sites with BPM: Bricks, Paragraphs and Modifiers
- Big Changes for Small Agencies (this one got mixed reviews from a couple attenders).
- Managing Your Most Important Resource: You
This was a really interesting session on the Material Admin theme, and what’s been needed to make it work. It’s not perfect, and may or may not be ready for prime-time, but it looks like a great idea and show what we can do to make the admin much better.
Major take aways:
- We’re behind, some of fixing that is easy, some of fixing that is hard.
- When you’re UX is bad, people perceive things to be slow even if they aren’t. People think that material theme is faster even though it is demonstrably not.
- Growth and survival of the project require us to have a better admin.
- He’s trying to make sure add-ons for the theme/module are pretty standalone and just work. But theme’s can’t require modules which is silly.
- Contenta uses Material by default on front and back because it provides decoupling well.
Skipped in this window:
- Taking Images to the Next Level (in Drupal 8)
- Web Accessibility in Higher Education (Canceled)
- Drupal Core Auto-Update Architecture
- PDFs in Drupal (I was surprised that this one was overcrowded)
This BOF was a chance for Cornell to show off some great stuff they have been doing with Message Agency. They have done some cool stuff that shows the power for D8 and a good Salesforce integration.
— Patrick Burns (@digitalburns) April 10, 2018
It should go without saying, but it needs saying too much:
A Salesforce is a CRM. Drupal is a CMS.
Use your tools for what they are best at.
The content in Drupal, actions recorded back into Salesforce.
1) Know strengths of each tool
2) Understand user needs
3) Determine how you will use each tool
4) Get the details right: SSO, Data Mapping, etc.
Drupal is much better at providing accessibility, including Form Assembly which is hard. The SF eco-system is mixed on the whole.
One option for multiple databases is Snap Logic (apparently it is “capital intensive”).
This was a mini session that is worth watching if you’re unsure about the importance and value of having a code of conduct. The hope had been to have a discussion about the importance of Drupal’s CoC, but everyone who attended largely agreed about the broad strokes of the major issues that have been discussed lately in the community. We ended up talking more about how to broaden the discussion than about the CoC itself.
This session was an interesting look at the impact on ACLU’s D6 (yes that’s right) advocacy site running on Pantheon.
Moved to Pantheon in 2013. And that move dealt with limits of their old hosting solution. Unfortunately some of my old-timey knowledge of why that had that solution was so old they couldn’t tell me much about how they had managed to make that move.
“Crazy things happen all the time”
After the their ED made a Rachel Maddow appearance on 11/16/16 they saw an 85x traffic spike. Tag1 was called in to help sort out what happened.
They found it was database bound, which was very common on D6, but still something they see frequently.
Found queries with 3 table join with no indexes on the base table. Able to go from 200,000 rows being scanned, down to 76. They were responding in real-time in crisis response mode.
After the wave passed, they called Pantheon to help build out environments for testing using multi-dev.
During the spikes that followed for the first travel ban, which were even larger they worked to reroute errors to Fastly, which served a PayPal fundraising link: at least the donations kept coming but that wasn’t good enough.
They needed a botnet to replicate the traffic. Tag1 used: Locust to create load tests, SaltStack to organize the bots, and EC2 to be the bots. They were failing at ~600 requests per minute and they were able to get to ~5,000 requests per minute. At that point the payment gateways were also starting to buckle, which isn’t a thing most people see.
The final wave they discussed came after the Net Neutrality lose, which peaked around 1,900 form submissions/min.
ACLU needed more logging, but didn’t want them logging personal information. Turned out the payment gateway’s CDN was detecting a DDOS and blocking them. See curl_log and curl_loadbalance. They also intentionally shift load from MySQL to Redis and PHP(?!?) because they knew Pantheon could scale that are far and as fast as needed to handle the waves, but MySQL was a limiting factor.
Wednesday Keynote by Steve Francia
Creator of Hugo and BFD in the Go community. DA Board member.
— Shawn Borton (@ShawnBorton) April 11, 2018
— Karl Kaufmann (@karolus) April 11, 2018
He has been helping Google put together documents to help guide their engagement with Open Source communities and projects.
Things he argues we pioneered in Open Source:
– Distributed leadership
– Collabortive Development
– Community Engagement
— webcsillag (@webchick) April 11, 2018
— Shawn Borton (@ShawnBorton) April 11, 2018
Interesting to reflect that its about the process and the community, but not about the technology.
“Who here believes Facebook is unethical?” [hands rise]
“Okay, who here has added a tracking pixel to a site at a client’s request?” [hands sheepishly rise]
“Okay, now we return to the trolley problem…”
— Actually, (@eaton) April 10, 2018
— Marina Paych (@red__cat) April 11, 2018
— TK 61281 (@tk61281) April 11, 2018
80% of leadership is just showing up. The other 20% is actually caring.
You will make mistakes. How you handles those mistakes will define your success.
Find Trusted Mentors
Do what people think you can’t.
Guide teams to successful outcomes.
People buy outcomes, so do teams.
You must be prepared to react positively to the unexpected
You should read books that speak to you, but you should also read books that aren’t about you or people like you.
Ken really likes even though it is written in the most macho way possible:
Just Listen: Discover the Secret to Getting Through to Absolutely Anyone
Go back to a point for basic agreement, even if that agreement is basic facts and that you screwed up.
Empathy is a great thing that asks you to choose sides even when you shouldn’t.
Your job is not to normalize and enforce things.
- https://events.drupal.org/nashville2018/sessions/accessible-editor (https://twitter.com/hanabel/status/984105892911239169)
Mostly a good discussion and a few new ideas. Also good to catch up with old friends and ideas.
(Note: recording was intentionally stopped after the presentation but the discussion continued for quite a while).
Following Con last year Whitney Hess put forward some ideas, but it wasn’t clear where to go next.
It wasn’t clear that the DA should lead this, so it fell to the CWG cause they were last group standing.
- Governance should evolve over time.
- Need a values statement
- Need to define the community and its membership.
- Clearly document that structures and procedures.
- CWG needs to improve CoC and enforcement.
- Community needs to improve its global outreach.
- DA should set higher standards.
- Community matters should escalate to groups, not individuals.
- We need community onboarding.
- We should engage with other communities to discover best practices.
- Dries stepped down as DA board chair.
- DA hired Rachel Lawson.
- DA created an updated CoC.
- Dries is doing a round table on Thursday.
- Trying to figure that out…
- Need to determine if good feedback was gathered so far.
- Need to figure out an ongoing and continuous feedback process.
The expected frustrations with Dries and the values statement were expressed. Communication between Dries and other folks continues to be a challenge. The bottleneck of single point of contact is making it hard to stop having a single point of contact.
- Cthulhu Drupal: Coding with Lovecraft
Drupal for Nonprofits BOF
The main discussion centered around what’s holding back D8 adoption and the ongoing sense that the main forces in the Drupal community no longer concern themselves with the nonprofit sector. This year’s BOF was small because NTC started today in New Orleans. From a rough head count if the people I new were in New Orleans had been at the BOF there would have been a similar number of people.
— Mike Herchel (@mikeherchel) April 12, 2018
— Drupal Business Days (@DrupalBDays) April 12, 2018
— Donna Benjamin (@kattekrab) April 12, 2018
In 2013 51% of internet traffic was “non-human”. SEO industry calls it NHT. By 2014 it was 61%.
— Fatima Sarah Khalid (@sugaroverflow) April 12, 2018
How do we use technology to codify and teach empathy?
— Shawn Borton (@ShawnBorton) April 12, 2018
Automatic’s Support of Camps and staff to do so: It’s great, but it’s not in the budget (DA budget). He talked about creating it as a DA service that could be self-sustaining, but the WordPress model includes a donation of 8 FTEs.
— Yeehaw! Drupalcon Nashville Speaker (@uniongal) April 12, 2018
What if your responsible for 1000 D7 sites? When we will know when there is a concrete answer to the question of the EOL for D7: This is an open issue without a good answer that needs a good answer. Move to D8? (but he doesn’t understand why that’s laughable without more detail).
What about the small shops and builders: He doesn’t feel like they were really left behind. Rachel also checked to what the DA could have done better with the new home page, but the language wasn’t a great choice.
"I don't think we're going to beat a Wix or a Squarespace. … Squarespace is really good at page-building, and we can look at them for inspiration. … We can do page-building that plays to our strength, like structured content."@Dries #AskDries #DrupalCon
— Ivan Boothe (@rootwork) April 12, 2018
What can a consumer do to preserve the open web: Not use Facebook. People read the web through Facebook like they do with Google. Don’t install an ad blocker.
Why don’t you hear more about Diversity issues from you? It’s important, and we have to do better. We aren’t were we should be, and I’m happy to show more leadership. I could do more by talking more about it in public and on twitter. Wants to think more about it, and doesn’t feel like an expert. He acknowledged his mistake in the DriesNote in Copanhagen. He also commented about shuttingdown after being called out because of how it was done. Wants understanding of the fact that he’ll make mistakes.
"Why don't you engage more in diversity and inclusion things online?" —@aburke626
"We need to do better, frankly. I'm happy to show more leadership there. … I can certainly do more. I'm going to take you up on that, you have my promise."
— Ivan Boothe (@rootwork) April 12, 2018
When are we moving to Github? A proof of concept is in place to move to GitLab! Our tools are better than GitLab in many ways, but GitLab wants to have our better strengths in their code base. So they are working on doing that for us and for all their users.
Is Drupal 7 Dead? No. Most sites are Drupal 7, and some new sites still launch there. But all the innovation is on 8.
Q: "Is Drupal 7 dead? Releases have slowed down…"@Dries: "Drupal 7 isn't dead…but I think a lot of the innovation has shifted to Drupal 8. People are still launching new websites on Drupal 7, and that's fine."#AskDries #Drupalcon
— Ivan Boothe (@rootwork) April 12, 2018
The new values and principles need work to more fully reflect the community. The process: a group together in December to review the community feedback. And it was clear he needed to do this. He’s been working on it since then, and has found it hard work. He wanted to make it Collabortive, but also wanted to put a stake in the ground. He knows that it needs work, but isn’t entirely sure of the next steps. Doesn’t want to the single owner. He would like to assemble a working group with a charter.
.@dries: "As a next step we're going to put together a working group…a diverse committee of people that can actually take it from here and carry it forward. My next step is to put together a charter for this group."#AskDries #DrupalCon
— Ivan Boothe (@rootwork) April 12, 2018
Did you create drupal to be modular and community driven from the start or did it change into that over time?
#askDries did you create drupal to be modular and community driven from the start or did it change into that over time?
— Tony Legrone (@tonylegrone) April 12, 2018
There were other CMSes in the world, but they were a shit show. I was working on the Linux kernel and liked the modular nature.
Why do you think people are hesitant to update their site? Decided to elect minor updates not major. Mostly that it add complexity.
Q: Why do you think Drupal sites are hesitant to upgrade [minor] releases?
— Ivan Boothe (@rootwork) April 12, 2018
Will the new principles state that destructive beliefs, not just actions, will be banned. He defers to the working group.
Someone just asked if Drupal should police the "toxic beliefs" of community members. #askdries/@Dries has no, repeat no credibility on this topic as he was completely and totally complicit and responsible in the botched @Crell affair.
— Brad Jones (@bradrjones) April 12, 2018
— nikki stevens (@drnikki) April 12, 2018
Rachel acknowledged the tweet, but didn’t know what to do with the fact that it actually called her out. “I wasn’t paying attention.” and then blamed questioners for not asking questions earlier. @drnikki was given a space, and directed people to DD&I meetings.
A really bad response from the audience calling on women lead. Tim Plunket responded appropriately.
"It's the responsibility… of the people in power and the people with privilege and the position and the voice to do this work for everyone else. I don't think it's fair to blame [under-represented people]" —@timplunkett#AskDries #DrupalCon
— Ivan Boothe (@rootwork) April 12, 2018
“Including people in community is more than saying, ‘you’re all included!’ A lot. It’s in our language and our symbols and how we present ourselves and how that communicates ‘what we do here’ to people who are watching.” @blackamazon at #DrupalCon
— Actually, (@eaton) April 11, 2018
— webcsillag (@webchick) April 12, 2018
— Jeff Geerling (@geerlingguy) April 12, 2018
— Florida☀DrupalCamp (@fldrupalcamp) April 12, 2018
Yesterday my wife and I realized that there was a March for Our Lives being held here in Aiken. When we saw a friend of ours describe her 3-year-old’s first pre-school experience with an active shooter drill we realized that if the local teens could get up early on a Saturday to speak up for themselves, we could not justify staying home.
So I charged the camera battery, cleared the memory cards, and made sure I’d have pictures to share. Aiken is a small city in a state that’s hostile to gun control, so even a small crowd is an impressive turn out. The turn out was good, the people were energized, and the kids were clear in their ask: they want to be safe at school and they don’t think that should mean they have to be surrounded by armed guards (police or teachers).
My wife and I are fans of M*A*S*H. When B.J. first arrives in Korea Hawkeye takes him to Rosie’s Bar and tells him: “I can’t think of a single reason why we’re here, except that we’re needed.” Oddly I’ve found this to be true of a great many service opportunities in my life; often the most useful ways to serve my community seems to require doing a things that should be utterly unneeded.
Often it has been around medical care. A few years ago we had a friend who spent more than a year in long-term respiratory rehab. Her daughter wasn’t able to visit much, and so we started to go most weekends just to see her. Not only did her emotional state improve but because we started to leave markers of loving family (a handmade afghan, photos, window clings, and other similar things) her medical care improved. That these things made a difference to how the staff treated her shouldn’t be true. When our own family members are in the hospital we try to ensure they get as much visitation as possible for the same reason.
Most recently it’s been while supporting children in foster care.
My wife and I serve as volunteer Guardian ad Litems in South Carolina (other states call the program CASA). It means we are court appointed advocates for children in foster care. We are the only people in their lives tasked with being openly biased in their favor. In practice it means we go to lots of meetings with professionals who should be better trained than us, better resourced than we are, and try to make sure they do their jobs the way the law requires. All children in foster care in South Carolina have a right to a volunteer advocate because the professionals who used to be paid to do this work didn’t do it as well as volunteers – nothing about that should be a true statement, but in 2010 the South Carolina Supreme Court ruled it was and from everything we’ve seen it is. So instead of a lawyer, they get us.
With just a few hours of training, that covered lots of information but barely scratched the surface, we were cut loose to help kids fight to make their lives whole again – ideally even better than before. We became part of a system run by underpaid, under-trained, and overloaded professionals. We go to all the meetings that happen in the lives of these children. We go to school, their home(s); we talk to everyone who passes through their lives during their time in the system; we visit the juvenile detention center to meet with our kids and prisons to meet with mom or dad, talk to doctors, lawyers (ours, their parent’s, and DSS’s but the kids rarely get their own in family court), case workers, detectives, probation officers, teachers and principals, parents, grand parents, foster parents, aunts and uncles, neighbors, and anyone else in their lives. Everyone else on that list worries about their own interests (like the parents do), other people in the family (like the case workers are federally obligately to do), are narrowly focused on one aspect of the child’s life (like their doctors are), or have worry about too many other people whose interests may conflict (like teachers must). My wife and I make sure we talk to more people than anyone else on the case, so that we can we represent the child’s interests and desires clearly and accurately.
We work with teenagers who have had all control of their lives taken away as they need to be learning to take more responsibility for their actions. The system is not designed well for the needs of teenagers, and so it falls to us to start helping these young people start to regain at least a little control of their destiny. The law requires us to meet with them once a month, but often it is more frequent (particularly with those prone to getting into trouble), and we become the only people they have who are both honest and unfailingly supportive. We are also too often the only people listening to their opinions about what’s happened and what they want to have happen next.
Our only real power, beyond being allowed into meetings, is that we are required to make recommendations to the court about what should happen. The court can ignore us, although they do so far less than people tell us to expect and the judges always listen with interest to to what we say. The vast majority of our impact happens outside of the court room, when professionals work harder just because they know we are watching.
Being a GAL is equal parts wonderful and infuriating, but at all times useful. We have discovered that just having a totally biased volunteer in the child’s life often makes the professionals more responsive to the child’s needs. Our schools are deeply under-resourced, and frequently seek to avoid providing legally mandated but expensive services so my wife is becoming an expert in education law to allow her to ensure the children’s rights are respected. But she has found that once she meets with the school administrators once or twice, and see that someone believes the kid is worth fighting for, they join us and help ensure the child is getting the support they need. Group homes, even terrible ones that openly allow their staff to beat children in ways that are banned for our prison guards (there is a true story behind that), are more careful when they know a volunteer is watching over a specific child and holding them legally accountable.
Sometimes just having a person around who cares, and thinks someone else is worth caring about, helps people who should do their jobs regardless of what’s happening, do their jobs better.
Last weekend was the 2017 edition of Augusta, GA’s Art in the Heart of Augusta festival. It’s a great chance for good food, fun acts, local art, and to take pictures.
Last week’s Eclipse passed right over us here in South Carolina. I live about 20 minutes outside the line of totality, so of my family came to visit and we went up to Camp Gravatt to watch the main event. I took a few hundred pictures of the course of the day, and figured there might be people interested in seeing a few.
With the turmoil in the Drupal community this spring and summer I have seen a wave of calls for open source projects to judge their community members, and other contributors, by the code contributions alone. It’s an idea that sounds great and has been popular among developers for at least forty years. Eric Raymond, while writing about Drupal, described it this spring as a right developers deserve. In some circles it gets treated almost as religious doctrine: “Thou shalt judge by code alone.”
The problem is that it’s not actually true nor just.
There may have been a time it was an ethic that held communities together but now it’s a line we pull out when we want to justify someone’s otherwise unacceptable behavior. Too often it’s a thinly veiled attempt to protect someone from consequences of their own choices and actions. And too often its used at the expense of other community members and other would be contributors.
For obvious reasons open source communities are dominated by developers. And as developers we have faith in our code. We like to believe our code doesn’t care who we are or what we believe. It will do exactly as asked every time. It forgives us all our sins as long as we faithfully fix any bugs and update to new versions of our platforms.
We like to claim that by focusing only on the code, and not the person behind it, we are creating a meritocracy and therefore better results. I don’t need to convince you I’m smart if I can show you my wonderful and plentiful code. We will be faithful to the best code and nothing more.
But none of this is proven to be true.
What does it profit, my brethren, if someone says he has faith but does not have works? Can faith save him? If a brother or sister is naked and destitute of daily food, and one of you says to them, “Depart in peace, be warmed and filled,” but you do not give them the things which are needed for the body, what does it profit? Thus also faith by itself, if it does not have works, is dead. James 2:14-17 NKJV
Any project worth doing could be done many different ways. One solution might solve the problem more quickly, another might be easier to maintain in the future, and yet another might be easier to extend to solve even more complex problems later. Which of the solutions is right will depend on the problem, the users, the developers, the timeline, and everyone’s guesses about future needs. There isn’t some objective measure of best. We figure out which solution we’re going to use by working together to sort through the competing ideas. Sometimes the best solution wins, sometimes the loudest voice wins, sometimes the most famous person wins.
When you say that code is the only valid way to judge a developer it tells people how you expect developers to work together. If I see that out of a project lead it tells me expect they me to put up with jerks and bullies as long as those people write good code. It says that women contributing code should expect to be belittled and degraded by colleagues, friends, and strangers as long as those people can solve a problem as well or better than she can (and often even if they can’t do that).
It says these things because for decades that’s been the behavior of large numbers of developers who are still welcomed on projects and praised for their amazing code.
It’s a simplistic way to view people that encourages the bad behavior developers, particularly many famous developers, are known for. Instead of creating a true meritocracy it drives away smart and talented people who don’t want to deal with being called names, threatened, and abused in their work place or while volunteering their time and talents.
People who damage a community because they mistreat others in it hold everyone back. If you join a project and write a module that brilliantly solves a new problem, but drive three people off the project because you are unbearable to work with, your work now has to offset all of their potential contributions. You also have to offset the loss of productively when people get distracted dealing with you. And you have to offset the reputation loss caused by your bad behavior. That better be an amazing block of code you wrote to do all those things, and you better be ready to do it again, and again, and again just to keep from slowing the project down.
Terrible developers can move a project forward. If someone comes into a project and writes a terrible module that stimulates someone else to solve that same problem better, they are making the project better even if none of their code is ever accepted. Or if someone takes time to make new participants feel welcome and excited to contribute, they may cause more code to be written than anyone else, even if they never write a line of code themselves.
And just because I can solve a problem faster and better than someone else doesn’t prove anything. If I start a project, or contribute for several years, I’m going to have more code credited to me than a new person. I’m going to know the project’s strengths and weaknesses better, and I’ll be able to solve problems more easily. Which means I should produce better code than another equally talented developer, or even someone a smarter than me. I just have a head start on them – anyone can beat Usain Bolt in the 100 meter dash if you give them a big enough head start. If we judge just by code contributions, I can use my head start to make sure no one catches me. That’s not merit, that’s just gaming a system.
Developers are people. People are flawed, complicated, biased, and wonderful creatures. Our value to a project is the sum of all those parts we choose to pour into a community. It matters how we handle discussions in issue queues; debates with community members on Twitter, Slack, or IRC; the content of our blogs; how we act at conferences; and anything else that is going to affect how others experience our contributions.
If you don’t care for how your community functions and if you don’t make sure people are treated well, even when their code is terrible, your project will suffer, and eventually may die. Sure there are examples (big examples like the Linux kernel and OpenBSD) of projects that are doing just fine with communities that allow developers treat each other terribly. The men leading those projects (if anyone has an example of a female lead projects where vile behavior is tolerated let me know and I’ll edit this sentence) are happy with the communities they have built. But can you imagine what those project could have achieved if they hadn’t driven highly talented developers away? Can you show any compelling evidence that those projects succeed because of the bad behavior not despite it?
Communities will be flawed, complicated, biased, and wonderful, just like the people that make them up. But if you only focus on part of someone’s contributions to the community you may miss their value and the damage one person can cause.
Faith in your code, if it isn’t matched with works in your community, is dead.
One of the things that the Drupal community has learned in the last few weeks is that our current governance structures aren’t working in several ways. Having spent a lot of time at DrupalCon talking about these issues I figured I share a few initial thoughts for those working on our new processes.
This isn’t the first time I’ve been part of a community that was changing how it organizes itself. In my religious life I am a Quaker, and for a long time I was a member of Philadelphia Yearly Meeting which is the regional organizing body for Quakers in the greater Philadelphia area. And I served for a time on several of their leadership committees. I’ve seen that 300+ year old group pass through at least three different governance structures, and while many of the fundamentals are the same, the details that matter to people also change a lot.
My great aunt put it into perspective during one of the long discussions about change. When my wife asked her for her opinion about a then pending proposal she responded that it didn’t matter much to her as long as it worked for those willing to take leadership roles at the moment.
So as the Drupal community grows through a process to change our leadership structure here are the things I think it is important for all of us to remember.
- It will not be perfect. We’re human, we will make mistakes, that’s okay.
- It will change again. I don’t know when or why, but whatever we do will serve us for a time, and then we’ll replace it again.
- Most of the community won’t care most of the time. Most of the time, most of us don’t notice what Dries, the Drupal Association, Community Working Group, and all the other groups that provide vision and leadership are doing.
I think we can all agree my first point is a given. I mention it mostly because some of us will find fault in anything done going forward. We should remember the people doing this work are doing the best they can and give them support to do it well.
On the plus side, whatever mistakes we make will be temporary because Drupal and its community will outlive whatever we create this time. We’ll outgrow it, get annoyed with the flaws, or just plain decide to change it again. Whatever we build needs to be designed to be changed, improved, and replaced in the future. Think about it like the clauses in the U.S. constitution designed to allow amends to the constitution itself.
Finally, we should remember that community and project governance is insider baseball. Understanding how and why we have the leadership we do is like watching a pitching duel on a rainy day, most baseball fans don’t enjoy those kinds of games. Most of our community wants to use Drupal and they don’t want to have to think about how DrupalCon, Drupal.org, and other other spaces and events are managed. That will not prevent them from complaining next time there are problems, but it is a fact of life those who do care should acknowledge.
Our community is stronger than we have been giving it credit for in the last few weeks. We need to be patient and kind with each other, and we’ll get through this and the divisions that will come in the future.