Presented by Larry Garfield (@Crell)
Disclaimer: Many external references
See session page for full list
Simple is a synonym of Decoupled
Easy is a synonym of "familiar"
Complect: To braid together; make complex
Decomplect: To unbraid, separate
Compose: To place together (not mix)
Simplicity is a prerequisite for reliability.
—Edsger W. Dijkstra
Simplicity is the ultimate sophistication.
—Leonardo da Vinci
Programming, when stripped of all its circumstantial irrelevancies, boils down to no more and no less than very effective thinking so as to avoid unmastered complexity, to very vigorous separation of your many different concerns.
—Edsger W. Dijkstra
We as humans are very limited in our ability to deal with complexity but unlimited in our ability to create it.
—Sam Boyer
When you build on something you inherit the complexity of the lower layers.
—Sam Boyer
The only way to manage complexity
is to eliminate it.
Simple code has linear complexity
Complected code has geometric complexity
The approach at one scale is entirely different than the approach at a higher scale.
The Tyranny of Structurelessness
—Jo Freeman, 1970
We cannot decide whether to have a structured or structureless group, only whether or not to have a formally structured one.
Structure is inevitable
Elites are not conspiracies... Elites are nothing more, and nothing less, than groups of friends who also happen to participate in the same... activities... It is the coincidence of these two phenomena which creates elites..
—Jo Freeman, The Tyrrany of Structurelessness
Elites are informal structure
Informal structure fills in a vacuum in formal structure.
Informal structure creates informal qualifications.
Informal structure complects with irrelevancies.
If the movement continues deliberately to not select who shall exercise power, it does not thereby abolish power. All it does is abdicate the right to demand that those who do exercise power and influence be responsible for it. If the movement continues to keep power as diffuse as possible because it knows it cannot demand responsibility from those who have it... it insures that the movement is as ineffective as possible.
—Jo Freeman, The Tyrrany of Structurelessness
There is no such thing as structureless.
Informal structure is extremely complex & inefficient.
—Ashe Dryden, 2013
Meritocracy is the belief that those with merit float to the top - that they should be given more opportunities and be paid higher.
—Ashe Dryden
"Merit" doesn't exist in a vacuum
"One hour, one vote"
Rule by those with nothing better
to do with their time
Initiative Leads have the following responsibilities:
- Coordinate work on the initiative.
- Communicate the plans, progress, and needs of the initiative to the community and the branch maintainers.
Responsibilities of component maintainers include:
Branch maintainers oversee the development of a major version of Drupal, by making the ultimate decisions on which patches are applied to the software, and by working with the community to set goals, priorities, and guidelines.
@da_wehner Drupal Technical Lead: Person with most patches this week.
— Paul Mitchum (@PaulMitchum) September 3, 2014
Who was Drupal's Tech Lead?
Who do I need to run this issue by?
—New contributor
Answer: Who knows?
If the movement continues deliberately to not select who shall exercise power, it does not thereby abolish power. All it does is abdicate the right to demand that those who do exercise power and influence be responsible for it. If the movement continues to keep power as diffuse as possible because it knows it cannot demand responsibility from those who have it... it insures that the movement is as ineffective as possible.
—Jo Freeman, The Tyrrany of Structurelessness
If you're a developer, and you aren't fixing #Drupal 8 critical bugs, care to share why? Curious what we can do to help momentum.
— Angie (@webchick) September 5, 2014
@webchick I have no desire to spend time attempting to disagree with someone who likes sleep less than me.
— Matt Kleve (@vordude) September 5, 2014
@webchick my mental health is worth more to me than core's release date
— Greg Dunlap (@heyrocker) September 5, 2014
Rule by those with nothing better
to do with their time
"Easy" also means "easily replaceable", unskilled labor.
Drupal the code base inherits all of
the complexity of Drupal the community
organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations
—Conway's Law, 1968 (Melvin Conway)
The only way to manage complexity is to eliminate it.
More than framework vs. app
Joomla did that. It was bad...
10x larger than others (2010)
Drupal needs to be a composition of components,
not a complection of components
The code and the community.
Respect subsystem maintainer authoratah!
But how do we do patches across modules/systems?
That we need to is the problem...
Brutal focus on simplicity
At all levels
Even at the cost of easy or features