Last week I posted a poll on Twitter requesting followers' perceptions on the Magento 2 architecture and promised a followup blog to explain where my head was at. This is that post. Writing English isn't my strong point so I will make a concerted effort to minimize description of the long winding, rambling trail of thoughts and events that culminated with that tweet. 

You see in the beginning, there was the MCA: the Magento Contributor Agreement. It was a few pages of legalese, the existence of which had to be known, before requesting it of Rhonda, which a few of us dutifully signed and returned to be granted visions of internal JIRA and the privilege of contributing to the core. I believe signing it and faxing it back to Magento Inc. was the preferred method of exchange. Yes, times have changed. Today you can find a bug in Magento 2 core code; create a ticket and/or fix; have that triaged and merged in by select prolific members of the community and released as part of the next version bump. Lately, specific days for you to do this alongside Magento Inc. employees are being set up around the world! What a time to be alive! Especially if you were familiar the dental extraction equivalent six years ago. 

So what does that have to do with the poll? Well without getting too deep into the back story, a few weeks ago I found myself on a rainy day at a beautiful cliffside cafe re-reading The Cathedral and the Bazaar(CatB) by Eric S. Raymond (ESR) in the context of the changes to the way the community contributes to the Magento core code. You should read it too.

On the topic of ESR: yes he's a controversial figure but a lot of first class open source projects derive some guidance, inspiration, or principles from his seminal paper. That fact, coupled with the recent push by the Cathedral of Magento Inc to incorporate much more of the #realMagento community involvement in the actual creation of Magento 2 means it's worth revisiting his writings. It's a good time to read from those who have invested much more effort and grey matter to the concept, inner workings and vision of Open Source Software (OSS) than I have.

Yes I know Magento has always been open source, and yes I know that OpenMage has existed for a long time as a fork of it. Things like the MCA, which predated eBay messing around with everything resulting in the infamous statement by Yoav that eBay didn't understand Open Source is the reason I call Magento Inc.  the Cathedral. In many ways Magento Inc. still embraces some Cathdral like qualities, which is  why I will not stop teasingly referring to it as the Orbital HQ. "Orbital HQ " or "Magento Inc." is  to differentiate the Permira owned corporation from "Magento" which I use to refer to the software product from "#realMagento" which is the name that the community has coalesced around.

Ok back to the point. My time in India triggered a hazy memory of one specific part of CatB (lots of backstory cut out here). Then the weather and lack of internet conspired to give me the time to find the eBook and ruminate a little more after reading it. The specific part tugging at my brain turned out to be an entire chapter (so much for the value of my own memory). The "Necessary Preconditions for the Bazaar Style" was ESR's investigation into what he has observed in the development of Linux and also of his own OSS projects and gives some direct insight into what makes those things successful. Which is where we come to the trigger for my tweet poll: 

When you start community-building*, what you need to be able to present is a plausible promise. Your program doesn’t have to work particularly well. It can be crude, buggy, incomplete, and poorly documented. What it must not fail to do is (a) run, and (b) convince potential co-developers that it can be evolved into something really neat in the foreseeable future. Linux and fetchmail both went public with strong, attractive basic designs.

Well to be blunt, when you lift the covers of Magento 2 and start poking around, it is crude, somewhat buggy, definitely incomplete and well documented (Thanks Tana!). But it doesn't matter! We have #mageFront happening, the entire codebase is on github and more active than ever, Contribution days are pulling off some epic functionality additions, Max and his team's involvement on such a deep technical level is refreshing, #realMagento is churning with bug reports, and fixes. The general consensus is that Orbital HQ is listening, embracing the #realMagento Bazaar and change is happening at a rapid pace for the better. Definitely an exciting and heady time....

But, excuse me while I throw a wet blanket on all of this because, despite knowing better, I keep trying to see around corners. Are all these things happening because we are tied to the platform and want to improve it to make our own work lives better? Are we contributing because of our pre-existing investment in the platform? Are we contributing because we can't deal with the lack of resources that Orbital HQ is putting towards Magento 2?  Is there really a portion of the community that does see "something really neat in the foreseeable future" and that is what is driving them to contribute? 

The last SUPEE patch broke my crystal ball so I don't have any answers to those questions for you. Which is why I turned to CatB for guidance and found a little gem in the last sentence of that quote above: belief in strength and attractiveness is an indicator of what past passionate open source contributors naturally gravitate towards. There is still 12 hours left in my poll, so I'll not draw conclusions from my own unscientific methods yet in this blog post.

Instead I leave you with the above questions that some time in India and  a rainy internetless day in the Himalayas sublimated inside my head. It is my hope to share them with you so we can use this time to BUILD the relationship we want with the codebase, the company and the rest of #realMagento instead of trying to predict where it is going.

Comments, questions or ridicule? Hit me up on twitter: @_Talesh

* You didn't read CatB like I told you to, didn't you? I know we already have an amazing community competently therapized by Sherrie, what ESR is talking about is a development community building an open source product by hands on development instead of a community of talented people helping each other.