August 13th, 2014. I woke up in an alternate reality this morning. The reality where Shaun Walker was no longer with DNN Corp. It must have been all of 5 minutes between his resignation being made public and a message popping up on my iPad as I was preparing to go to bed. "It happened", it read. "It" being something the sender and I had discussed earlier as something that might happen in the near future. The third founder to leave the Corp and without doubt the most famous of all of them. And within an hour the interwebs were firing up with discussions about what this would mean for "us". Us, the DNN community that is. What do we make of this? At times like these I feel like we're Kremlin watchers. "Hey, so-and-so's now on the left instead of the right of the supreme leader at the parade. Did he get demoted?" So Shaun signs out with a short goodbye. And Joe posts a somewhat more elaborate post on how he intends to fill his shoes (Joe is now the only founder left at the Corp and has been asked to take over community tasks from Shaun).
And here is where things get interesting. So far Joe has been very vocal about giving the community more influence on the direction of the platform. This is a desire we've held for a long time, now. Since DNN Corp found their VCs and began developing commercial products (first DNN "Professional Edition" and now "Evoq") our paths have drifted apart. Some have made a living in close cooperation with DNN Corp selling their commercial products, but for most of us the intended market of those products did not overlap the market we were already serving. We had DNN Platform (previously "Community Edition") which turned out to be mainly a by-product of whatever DNN Corp was putting into their professional products. And that has led to a considerable amount of frustration among those of us that had been with this platform for a long time. The MVP group in no way resembled the old "core team" we used to have. Instead, it had become a group of experts that exerted pressure on DNN Corp to improve the platform but had little tools to do this themselves directly.
As it happened just the previous day Joe had sent me an email requesting a chat. So we had our Skype call the day after the news broke. And in that call Joe made it clear he intended to push our agenda pro actively within the Corp. He was saying everything I wanted to hear as president of DNN Connect. Our main objectives in terms of organization can be considered to be independence and transparency. Independence of the platform from the forces of a commercial product that is being developed on top of it. And transparency for all users as to the direction this platform is taking. I explained that these were some of the foremost reasons Philipp, Vicenç and I had in creating the DNN Connect association. And now Joe was telling me he was on board with this! Obviously Rome wasn't built in a day and we need to take this one step at a time. But some immediate actions could already appease the critics and show we are moving in the right direction.
Independence
It is paramount that the DNN Platform, if it wishes to survive as the web application framework of choice, needs to have its own development roadmap. Many livelihoods depend on its continued relevance. Not just DNN Corp. And we've discovered in the past 5 years that whatever roadmap DNN Corp had for it, does not always correspond with what the community was asking for. I've seen many colleagues leave our community and migrate to other technologies in despair. And that is sad. Not just because there are less companies building stuff using DNN, but because we're saying goodbye to friends. People we've built up relationships with as fellow DNNers who no longer feel the platform is the best tool to do the job they need done. And before this platform becomes irrelevant we need to take action.
Whenever discussing the future of the DNN platform from the community perspective, the elephant in the room is "forking". Forking means we (the community) take the current codebase of the platform, rename stuff to get rid of the "DotNetNuke" trademarked name, remove any non-open source bits and release as a totally new platform that we then will need to grow and maintain. This is a huge undertaking. But over the past year I've been quite vocal about the fact that there might come a time when we don't have a choice. But for now the downsides are just bigger than the upsides. So instead of "the nuclear option" we should, in my opinion, first exhaust all other options. I.e. we need to see if we can make it work with DNN Corp. Or more specifically, we need to work towards a situation where enough independence is there to make it work for us.
So where do we start? Well, in one of his first actions Joe has introduced "community committers". These are people from the community with access to the DNN platform source code on Github and who will have the permission to accept and integrate code contributions. As you know, DNN Corp has moved the DNN Platform source code to Github last year so that it became easier for members of the community to submit so-called "pull requests". These are basically proposals for changes to the source code. Until now, just a couple of people were looking at these requests and acting as "gate keepers". These people could actually change the source code of DNN Platform on Github. Until now only a select group of DNN Corp employees could change the core codebase. In what I can only see as a major shift, 3 of us (i.e. from the DNN community) now have the same right: Brian Dukes, Vicenç and myself.
Naturally this raises the question of how we can assure a common approach and common direction in this. To this end a group will be formed, called the "Architecture group" together with Charles Nurse. With the departure of Shaun, he has now assumed the role of chief architect of the platform. I'm quite excited about this whole notion of community committers and this architecture team and I am very curious to see how this will go. And next to the architecture group we'll also see the (re)emergence of some other work groups with a singular focus like my beloved "internationalization team". The latter is a team that was created years ago to have a group of people just look at everything that is happening to the platform with just this perspective. Regretfully, over time, it had become something of a toothless tiger. Without direct access to the platform we could only signal bugs to DNN Corp. But it was impossible to work on larger scale changes to the platform. I hope this will change, now.
Transparency
The key term in Open Source is "Open". Meaning, only when we can all see what's going on do we call it open source. But that extends beyond the source code. Openness is a frame of mind. Anyone, and I mean literally anyone, working in open source should assume that what they do is open for the world to see. It's continuously thinking that what you're doing is "public unless ...". Until now, DNN Corp has largely operated in the mode "private unless ...". All MVPs had to sign an NDA before being allowed to participate in the (closed) meetings with DNN Corp. In my opinion this has always been a backward approach. But before you take this as a rant: I understood where it came from. It wasn't just rooted in commercial interests. Anyone who's worked in open source knows how vocal detractors can be and that if you promise XYZ then you can get blasted in forums and in social media if someone feels you've let them down. So after years of badgering and bullying I understood the desire to not be too public about what was in store (features, release dates, etc). But over the years it has led to an almost paranoid approach to the community. Like they were a pack of hounds out to get them. A reset of this relationship is dearly needed. This takes courage and I hope we'll see this shift permeate DNN.
So from now on MVPs no longer need to sign an NDA. And the contents of our meetings will be "public unless ...". This is an important step in the right direction. So I can also share with you that Shaun was not the only one to leave DNN Corp. It turns out to be quite a major shuffle with the head of marketing sales and some of his staff leaving as well as the closure of the Amsterdam office. Again, this can be interpreted as a shift of direction. It remains to be seen once it crystallizes.
Also we now have a roadmap page on the corporate website. A roadmap spells out what is planned to go into the next version(s) of the platform. This will be maintained by one of us: Oliver Hine. Oliver has long pressed for more openness regarding the roadmap and now he has achieved a major milestone. I'm looking forward to his future work on this.
The Future
To be honest I have no idea what the future has in store for us. I've spoken to many people last week in the aftermath of what happened. All I can say is that things are "moving" and appear to moving in the right direction. I'm deeply sorry to see Shaun go. I've loved working with him and he's been a great mentor over the years. I've always had huge respect for him as he did something that was tantamount to bull riding. I admired how he managed to rise above conflicts and managed to quell them rather than fan the flames. I'm sure he'll do well at whatever he undertakes. And I hope to run into him again. I leave you with an interview I held with him at our Web Connections event in 2011:
Interview with Shaun Walker on Vimeo.
As for "us" the community: I think we have been handed the keys for a test drive. And if we put our shoulders underneath this we just might make this work for all involved. In terms of organization it looks like we've made a big step forwards. But the proof of the pudding is in the eating. We'll look to make some changes to the DNN platform core code that we, the community (well in actual fact a group of MVPs), feel is important. And once we've managed to effectuate a number of these changes we'll see something that will hopefully entice developers to flock back to DNN. My hobby horses are: code that is consistent, tidy and lean (ease of learning). And secondly: don't aim to be everything under the sun if you're going to do something, do it well. The DNN Platform is a great framework with which to develop web applications. I hope that over time it will be easier to understand and that we can target more diverse projects with it.