Upgrade Your Drupal Skills

We trained 1,000+ Drupal Developers over the last decade.

See Advanced Courses NAH, I know Enough

The World Is Flat.

Parent Feed: 

There is an active attempt to fork the Drupal content management system into a new application:

Backdrop — a play on Drupal's name and origin, which originally intended to be dorp.org (Dutch: village), but due to a typo, became drop.org in 2001. Shortly after, drop.org was renamed to drupal.org.

As the name suggests, Backdrop's intention is to get back to the roots of Drupal:

  • Quality
  • Simplicity
  • Developer Experience and Productivity
  • Performance
  • Targeted vision and use-case

The project was kick-started and is driven by a few people that I personally respect and value a lot. In fact, they are representing a group of brilliant people and excellence, which originally turned Drupal into the product that it is today. A group that felt ignored and unheard in the recent past — even though it were primarily these and like-minded people who enabled the world to interpret Drupal as a real product and competition in the first place.

To be clear: Do not try this at home. The attempt of forking Drupal involves hundreds of factors that you are not considering. There have been many attempts in the past, but not a single one succeeded. Yours will not succeed either. Backdrop may or may not be an exception.
(Did I phrase this clear enough?)

The root of all concerns is Drupal 8, which is in development and undergoes major architectural changes for ~3 years already. Though, despite all changes, there's little to no innovation compared to the competition. The focus is to clean up and modernize all core code and APIs, with the intended goal of ending up with a base system whose architecture is more maintainable and sustainable in the future.

The current state of Drupal 8 is poor and not worth to talk about. However, the final and intended state seems to present a clear and diametrical conflict to the former goals, qualities, values, and roots of the original Drupal project.

The situation

I talked to various different parties. What I learned is simple:

People are not listening to each other.

People do not appear to remotely see the points that others are trying to make. In both directions. Assumptions are utterly wrong, frontiers are built before having any clue at all, counter-arguments are overly naive and misguided, and all communication is generally hindered by a good amount of bad-ass trolling.

What I heard was offensive defense and disagreement. No one appears to listen and to truly perceive and understand all arguments, before drawing any kind of lines and/or conclusions.

As if, you know, the world was flat.

In short, a simple and common conflict resolution scenario.

This blog post originally aimed to cover all aspects on the idea of forking Drupal and my personal stance on this particular fork, but after gathering more and more insights on the current situation, I decided to leave out and save those parts for a future post.

Therefore, this post reflects on the communication conflict only.

Solutions are possible. They will require changes. They will cause conflicts. It is a matter of will, listening, and dedication. It is a matter of respect.

Disconnect in Dissent

In analyzing the situation, and in distilling and deciphering all arguments, I did notice that there appears to be a rather large disconnect in understandings and communication.

It's important to note upfront that the situation did not suddenly appear a week ago, but actually evolved over the past ~2 years throughout the Drupal 8 development cycle.

Drupal core developers appear to be coming from a mindset that is deeply stuck in refactoring work of internal core framework subsystems, which happens to involve plenty of abstractions and complexity. These were major and important undertakings, but in all of this work, not much thought went into the question of how verbose these concepts need to be for the average module developer.

A few core developers are showing good will to fix and improve minor developer experience issues. Some others do not appear to see any issues at all, and they seem to not only ignore the arguments that are being raised, but even strongly and blatantly argue against them. Tension appears to be caused by an attitude of:

I am right and know better, and you are just simply wrong.

...which doesn't make it sound as if anyone was listening.

Conversely, people who are looking at the current state of art are deeply confused as to why so much internal complexity and abstractions are verbosely exposed in the user space, and whether that is really necessary.

From what I've heard, the scope and extent of concerns does not encompass a few individual improvements here and there, but instead, is asking for major changes to remove all unnecessary complexity and ensure simplicity (and productivity, for that matter) in user space code.

The primary disconnect appears to be a major difference in understanding of what exactly is interpreted as "complex."

There further appears to be a misunderstanding in that people would have a general problem with object-oriented code, which is not only misguided but also makes an insulting assumption on the technical learnability skills of others. As a consequence, a line is drawn between parties that does not actually exist, which in turn hinders constructive communication.

The same consideration appears to be further manifested by the assumption that the target developer audience of Drupal 8 would be different. Equally based on the idea that novice PHP developers and hobbyists would not be capable to understand and learn object-oriented code. This nonsensical assumption clearly appears to stem from the disparity in understanding of what exactly "complexity" constitutes.

All communication appears to be distorted by another disturbing detail: The API freeze for Drupal 8 was officially announced already, despite the fact that literally everyone and all parties appear to agree that the current state is a total mess and not remotely releasable. This aspect especially supports the resignation of the non-core party, as they're in fact asking for major API changes, which obviously presents yet another unnecessary conflict.

Drupal appears to have taken steps to remedy the situation through a new D8DX initiative. But coherent to all other communications, this initiative starts with a big list of things that are out of question, and just continues with a list of minor issues that may be debatable. In other words, directly building a frontier, before even starting to listen.
Update: It appears the initiative page has been corrected to somewhat address this issue.

Conclusion

It's a tough situation, because there's a lot of frustration all around. In fact, no one appears to be happy with anything. The lack of a clear leadership, ownership, and authority certainly contributed to the final path that slowly but certainly turned frustration into resignation.

Now the question is whether everything sucks and it's too late, or whether there is a chance to resolve the situation by taking a large step back (stop coding, start listening) and bring everyone on one round table to find concrete, working solutions.

Solutions are very well possible. But they certainly require everyone to leave their comfort zone, start being receptive, listen to and ensure to comprehend concerns of others, accept that there are different world perspectives, and most importantly, to allow yourself to make compromises.

My recommendation is to not calm down and defend, downplay, or ignore the issue. Also, don't be afraid, don't be a jerk, and don't be a hardliner. Instead, I want to encourage you to be open, welcoming, collaborative, and constructive in everything you do. Respect others, respect the culture. In short, respect

The Drupal Way™

Author: 
Original Post: 

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web