Why I have chosen to join the ClassicPress project

- Development, Open Source, Participation, Wordpress


This article is to be understood and considered as my personal opinion.

Take a coffe, a candy or a pizza because this article is very long!

After this statement we can start to explain why I chosen to join that project ClassicPress, that is a fork of WordPress, and put my face on that.

Who I am,

I am a developer with experience on contributing in different projects and communities, Mozilla and WordPress are the most famous and mainly in my daily life.
I am also a speaker about Open Source, involvement and contributing from different topics: coaching, localization, development, project management and community building.

I have also a selfie with Matt Mullenweg at WordCamp Europe 2017

I have also my own company with 2 friends, Codeat, that made his business with WordPress as web agency but also plugin makers and sellers.
I met my associates or colleagues in an unofficial Italian WordPress community on Google+ in 2013~, I started doing in that community webinar but also support about WordPress.
Later we joined the WordPress meetup in Rome and also the official Italian community of WordPress and founded our web agency.

As my WordPress profile say I joined that community officially in 2012, I am contributing since years in the Core team and also Polyglots with GlotDict, BulkRejectGP and PTE-Bot.
I am also part of GlotPress team, Italian Global PTE, develops tools for WordPress, contributed also in Meta and WP-CLI, contributing in VVV, speaker in different WordCamps (are missing few videos), often I am also leading the Core table at WordCamps in Italy.
Recently I am also part of the WordPress meetup of Terni other the one in Rome.

Others the stickers I have also the Wapuu!

So in few words I can say to have a little bit of WordPress experience from job side but also as community and contributor. Most important I do money with WordPress and this is also one of the reason of my involvement in all of this stuff.

Open Source principles

I am a very fan of open source, I made my day with that, I write monthly reports of what I done (like this one of August) and join Open Source conferences like Fosdem or Mozilla semester events for employees (me as volunteer) to discuss and do stuff.

Again in few words I have Open Source in the blood together with my hate to PineApple in the Pizza (that is on GitHub too).

With this introduction to myself I hope that the reasons are quite clear after I will explain them.

  • An Open Source project need
    • a community that is local but also international
    • a clear future or at least a roadmap with dates
    • community participation in discussions about the future but also in the rest of stuff
    • every single personal opinion matter and is not ignored, at least receive a response
    • when there are big changes there is a plan to help to migrate
    • roles are clear
  • An open source community member
    • give his free time or is sponsored
    • has a personal interest to grow himself and to give back
    • to get fun in contributing or joining the community

This is a list, not complete of course but a lot of these points are not clear right now in WordPress and in my personal contributing life to the project.

ClassicPress let today to open a discussion inside the WordPress community for a LTS version and was marked for 5.0, I hope that the ticket will be not closed without a deeper explanation of the reasons.

My personal conflicts

After chosen to join the ClassicPress and became also part of the committee and leading the Localization team I discussed this decision inside my company but also at WordCamp in Rome (and I was one of the organizers) of few weeks ago.

Gutenberg

I hate Gutenberg, not because is horrible to see (UI/UX) or the idea behind is wrong but from the technical side of his implementation in WordPress.

WordPress is famous to not breaks compatibility or in case there is a guide to handle the changes for devs as example.

We will have an editor that in post_content will inject a not easy content to analyze that slow down everything because is not a JSON (as example).

This will be require to parse it in a specific way because is a bunch of blocks separated by HTML comments, and every developer know how much is bad that.

We have to consider that there is someone that created a parser in Rust and compiled to WebAssembly, just for fun.

Anyway this will also break all the solution used for years like metabox because now everything is rendered by JavaScript, instead in the past was the opposite. Thinking of the cost of JavaScript can open a new discussion but this is not the real problem for me (yes I don’t like React too but I can use other JS frameworks, so the point is another one).

The problem right now is that we will have a new tool that change a lot of stuff that are now the standard in the WordPress ecosystem without any plan for who need the old way or want to keep it.
There isn’t also a backup plan or a migration plan for others that is easy.

There is the Classic Editor plugin yes, that revert but for how much long we can keep using it? When Gutenberg will be implemented deeper in WordPress also for other parts like menu, widgets blabla there will be no choice.

Think all the legacy websites built with no thinking of a future where metabox can be broken, where the content is not pure text or where is not possible to add a link that open a new window.

There is no plan for them to use the 4.9.x branch and at the same time they will don’t receive new features that doesn’t involve Gutenberg.

I want to do an example in Mozilla, Firefox 57 changed a lot of things also there was the removal of the old apis used since the first version of Firefox to build extensions.
The developers were informed about it, with documentation, examples to migration but also with a LTS version for 1.5 years that was the 52 ESR.
Also, that new api was available since 2.5 years before that migration.
In few words enough time to overcome this big changes from a tool used to navigate also WordPress websites.

In Gutenberg this never happened because with 40 releases as today with a lot of development inside wasn’t clear how to support it and also the future of WordPress too. I mean there were tickets like this and this.

A year without a release

I remember at WordCamp Europe 2017 in June Matt that say for December we will 100000 installations of Gutenberg but this didn’t happen. We got with the release of 4.9.7 (as I can remember) with the call out for that.

The 4.9.7 was released few months ago.

Also, was chosen to wait to have Gutenberg ready to be merged (to start work on 5.0) the last year and many times bumped to another month because was not ready.
The new major of 5.0 in few words started in November 2017, as written in the plan.

There was a time when we got 2 release every year and now only minor release that as defined in the handbook (I cannot find the right link to the page) the minor can contain only bugfixes and no new features (because is a consolidated practice).
Anyway because this release window was very strange we got a release with GDPR support that added new features and also new files.

WordPress got also new leads for the various releases and this is awesome but a part that we didn’t got new stuff as developers and users. We can open another window to discuss what is missing in WP but this post is becoming too much long.

Also the latest changes in core for Gutenberg improved the code organization and this is an huge merit for Gutenberg but for me finish there.

We have right now 468 tickets open marked for 5.0 (on 628 on total) that need to be evaluated merged etc, this will require more months of work.

In few words as contributor I stopped to do patches for WordPress because if before to get a review of a ticket required months (as I said on top the contributors give their free time) now everything is moved to “when will be opened the 5.0 we will start to review”.

So this mean that a contributor that need a feature or a fix have to wait a lot of months just to get a review or a comment, and now they are very a lot of months compared to before. Right now I have 23 tickets where I contributed with patches waiting, where like half are marked for 5.0 (I give to you to check the time of last version of a patch).

For the same reason I left to follow the weekly meetings of Core because there was discussing only of bugfix and what is missing for Gutenberg.

In other words the development of WordPress wasn’t attractive like in the past, for all of this reasons and I think that also others this because numbers are quite clear.

Inside my company

There was the big question why focus on a fork with no future?

WordPress now is leading the market and is quite impossible to change and migrate all these websites.

I agree with that because I saw what happened with OpenOffice and LibreOffice. People still use or consider OpenOffice instead the new fork that is very better for a lot of reasons (like have a LTS version and is active developed).

Or we can say Whatsapp vs Telegram to show another example of similar projects where the first arrive and take the spot and is difficult to conquer it, also if the project/product is better.

Finally, why I chose to contribute on ClassicPress and still in WordPress

So I can say I want to focus for different of the reasons explained at the top on principles:

  • There is not fun anymore on contributing in WordPress a part WP-CLI that is very active, that also experiment new things like WP CLI Hack Day
  • GlotPress is dead because the 3.0 was scheduled for October 2017 (the code is ready and used on translate.WordPress.org) and there is no project management
    • If you want help us, join the channel on Slack and say that!
  • There is no gratification in contributing with code in Core because there is no plan of the next release
  • There is no way to discuss and evaluate features inside the community
    • Yes I know the community is huge but there is no easy way to join and discuss project planning
  • There is no project management on top of the community, like many open source foundation do with their employees (check The Document Foundation as example)
    • The feeling is like is everything managed by volunteers but there some paid by companies (and I am happy of that) that can lead the project where they want without any opposition
  • To discuss the future the only way are Core Committers, but in the Gutenberg case they didn’t chosen to integrated it (Matt chosen that)
  • I know that in WordPress there are specific reasons of technical choices but also on timing
    • a project with more than 8000 tests and a lot of features need to be aware of a lot of things
    • also if had to support php 5.2+ (I joined also the meetings of #core-php in the past)

In few words again too much time in standstill in a lot of WordPress.org stuff because there wasn’t a clear guidance and without the help of the majority of the community.

Yes I know too I am complaining too much, but I am developer that work with legacy stuff and also do support so this kind of behavior/changes are very difficult to accept.

My doubts on ClassicPress

The 1.0.0 version will be a LTS without Gutenberg for 4.9.x branch and probably also for 5.0. There will be also minor changes like the bump to php 5.6 as minimum and probably the composer support.

The 2.0.0 version will be a different release again without Gutenberg but from my point of view more developer friendly than before.

We have a website where ask for feature where the community can vote and leave feedback, the committee will analyze them and put on schedule.

This is the quickly explanation but the all views about the democracy/workflows/terms is available on https://www.classicpress.net/democracy/ and explained better.

I personally think that WordPress can be a solution for who like me use WordPress as a framework or a CMS to extend, need more features and don’t care if it is WP or CP but only that the code is basically compatible.

This of course is an evaluation after a month of life of the project that right now is starting and replicating the infrastructure from community organization to web services (an non-easy task).

In few words I don’t care if this is will be not explode as usage in the next months, I want to work better and CP seems the best option right now.

After all is a choice that all the developers do with their tools like Vim/NeoVim, Drupal 6/7, Gulp/Grunt/WebPack, NodeJS/IOjs (yes there was a fork of nodejs and next merged) and so on.

The real doubts in my are on the people part of the CP community that many of them never contributed to WP itself, this created on some problems of communications on procedure, but we are working on refining them. At the same time give many more feedback from new people that WP wasn’t able to attract and join the community itself.

About Diversity

On the net I read also different tweets and blogposts about people complaining that in the committee/project there aren’t so many PoCs or from other world areas. But did you checked how many are in WordPress itself?

The project is for everyone, like WordPress, and we have a call to action for everyone, we got right now only them, and I have to say also few US members but mainly Europeans. So more diversity I can say!

I started to live in internet on forum and IRC where we didn’t consider the gender/ethnic/race or nationality because we had only a nickname (maybe only an avatar).

I still think that, so I don’t care of that but of the code, that is gender free, clear and without political opinion. In few words fact matters or code matters.

If the contribution is fine, cool and improve I don’t care who is the author because as a technical I prefer to think of the work.

About these discussions of diversity there is this article about the issues inside the Linux Kernel community , that can offer a bigger picture because this post is very too much long and is not the right topic for it.

I will keep to use WordPress

Yes, because I see ClassicPress a tool to use in specific cases like is WordPress and like is Gutenberg.

 

I hope that my honesty is appreciated and I tried to explain the various reason technically and not only “Gutenberg is cool why you are against the new wave”. Also consider that I am not a native English speaker.

PS: There is another conflict because one of my company most famous plugins parse the post_content and I will have to do the integration with Gutenberg with a lot of issues.

PSS: this site is not using ClassicPress because is not ready yet as written in the repo itself.

Addendum 2018/10/13

Tickets moved to next release after 5.0 because of focusing on integrate Gutenberg:

The only reason for why WordPress 5.0 is cool is because of performance improvements:

Addendum 2018/10/19

Liked it? Take a second to support Mte90 on Patreon!

Become a Patreon
All the stuff released in this website, where the author is Daniele Scasciafratte, is under the GPL 2.0 license except when the resources have their licenses.

2 Responses to “Why I have chosen to join the ClassicPress project”

  1. First of all, I want to thank you, Daniele, for all you’re work with open source projects. It’s really awesome that you can manage to contribute with so many stuff. For all of us.

    I totally understand your motivations to put your contribution to WordPress on hold. And I do wish that the ClassicPress way of doing things makes it better for all the contributors that want to have a say on the project’s future.

    I’m tired of ā€œdecisions not optionsā€ being used for ā€œmy (the-know-it-all-leadership) decisionsā€. The Gutenberg project is just the most obvious and screwed up example of it. It’s neither transparent nor coherent, it doesn’t actually wants to know what users need and wish for, it’s badly implemented (despite the hard work that the development team has done, no doubt).

    The almost complete inability to realize the real uses of WordPress, the amplitude of uses, and the problems that a lot of decisions based solely on assumptions are creating and are going to create to the real users.

    A project this big can’t be managed based on assumptions or the limited knowledge and opinion of a small group of people, or just one. A single critical decision, like this one you mentioned, is a huge issue that some people in their throne, away from the crowd, fail to realise the implications.

    I wish a lot of success to all the projects you’re involved with, including WordPress. Because we need independent people like you.

    • Obrigado Alvaro!
      And I am happy that I am not the only one that thinks of this problems, we need to join our force to change this situation.
      Thanks again!

Leave a Reply