Moving Forward

A chance to answer some questions and relieve some doubts.

Introduction

Fundamental differences are what drives change. When there are two sides to a disagreement in an OS project you basically have a few choices that need to be made. You can continue on, and agree to disagree. You can continue on and still fight each other every step of the way. Finally, you can go your step back and work towards the end goal from a different avenue.

What I decided was best in the name of progress was to choose the third choice. While I still have a vested interest in PostNuke's success, I also see no reason that another project can not fulfill the original intent. I can not speak for everyone that left PostNuke as to whether they agree with the decision or not, but I can tell you that the developers that left the project are unified in making 1.0 from the 'old' Dot 8 tree a reality. This includes the work on Block Layout, new translation system, and the security and performance enhancements which have been in work for about 6 months now.

Each of the 35 or so developers which left the PostNuke development have joined forces yet again to continue what we started. We feel that this is the correct path for fully realizing the potential of what we started during the original Dot 8 development cycle, and thus have decided to officially announce our intention of building not only a better mouse trap (which will be API compliant) but a better GPL'ed Content Management System for the world to use.

Motivations and Perceptions

There hasn't been a day that has gone by without someone asking me the same questions as to why I stepped down from PostNuke, as well as why the developers stepped down. I am going to try to explain my perceptions for the change of leadership in PostNuke, as well as the mass exodus. I can only give you my perceptions; however, I do believe that I am speaking for the majority of the 'X' developers.

In my mind, I had no choice but to step down for the good of the long-term vision of PostNuke. Every action that was made, and every decision that I made was scrutinized to the point of misrepresentation of the facts at hand. Personal attacks within the development community became the norm, rather than the exception because of what I perceived as calculated attacks to destroy .8 before it was out of the box. I will not venture to guess why these attacks were made. Whether they were to further one's own agenda, or just simply because of a lack of true understanding of where I, Greg, Harry, and Sean wanted to go long ago. Regardless of the reasons, they were doing no one any good. They were not good for the community as a whole, nor were they good for each of the dissenters own agenda, because the evidence lingers of their own "slash and burn" techniques.

What I can tell you though, is that I saw no possible way for the 1.0 milestone being reached with the current climate. There are fundamental changes that needed to be made in order to reach that point, and under the constant personal attacks, I saw no way of keeping the developers unified and together on the same goal. Without change, there would have been no way to finish what was started long ago.

Nothing saddens me more about this whole mess than the confusion that everyone has to go through right now. If there was another way to keep the dissenters from driving apart the development team, I would have jumped on it in a minute. However, in my mind, each scenario ended the same way. PostNuke would loose the imagination and the motivation of everyone that was driving positive change. In the end, everyone would loose because of the loss of focus.

Let's put something first in perspective here. We are working on a SOFTWARE PROJECT, not a CURE FOR CANCER. There is no place for personal attacks from those that have nothing better to do. People have asked me why I would turn the project over to one of the main dissenters to the progress that many wanted and not someone that had mine and others perceived goals at heart. The original project was started by Harry Zink, Sean Finkle, Greg Allan and myself. Harry offered to purchase the domain name 'postnuke.com' and I agreed. Little did I know that down the road, that agreeing to that would be my largest mistake I made while leading the project. I answered this to one person in something like this:

Suppose you won an election for a Canadian province. However, your entire ruling area is owned by the US. The US decides to build a prison in your province, without consultation, nor without the least bit of respect for your authority. What can you do? You can moan, you can complain, and in the end, you can resign. Even when another Canadian wins that same election, what is to stop the US from still building that prison?

It might not be the best analogy in the world, but I believe that you can understand my point somewhat. My stepping down was a move in order to stop the in fighting, and to allow progress to happen, instead of having to constantly put out fires. When a few have their minds dead set on delaying and detracting from the progress, it becomes difficult at best to move forward with the same intensity that you have grown accustom to. Many developers that left were on the verge of leaving before I did. In my mind there was no way left to move the project forward except to drop back, regroup, and refocus. That is what has been done.

Leadership

I will not lie and say that I am a natural born leader. I am human, and I make many mistakes along the way. I do my best to own up to those mistakes as I recognize them and to learn from them. I do my absolute best to try to foster a working relationship with everyone I come in contact with. I make decisions after I listen to all the facts that are presented. I have been known to back down from a decision or two along the way for the simple reason that I may have made a mistake. However, when I know that we as a group are on the correct course, I will not back down for the reason of taking the easier course. Being a leader means sticking with what you think is best for everyone, and not just yourself, and backing those decisions come hell or high water.

Am I a little too developer centric? I couldn't tell you. My idea of leadership within the project is to share my vision of where we want to end up at the end of the development cycle and then push development to further that goal. Do I necessarily think that every suggestion that comes from the user base is one that must be acted on? No, sorry I don't. I have stated where I intend on moving the project, and every decision that I make along the way is what I feel best to get us to that goal. For some however, the end goal is not in the forefront, nor do they think that the vision is what should drive the development along the benchmarks and milestones, but would rather take the input from all spectrums regardless of how it fits into the end goal and working from there. To me, I find this a flawed and inconsistent plan.

I personally feel that the bells and whistles belong in the modules, blocks and templates, and the core is there to be built as a bucket for those to interact with. There needs to be consistency amongst the modules in order to give everyone a secure and configurable website. There also needs to be complete control over the output that the websites are pushing out. It's very simple when you think about it. That is what pushes my decision making process, and that is how I intend to continue.

Dot 8 and its status

As many of you have guessed, and as many of you have wanted, work will continue with the "old" Dot 8 tree. I personally feel that it is revolutionary in its design, and it pushes the envelope on the innovation scale. Each developer that has left PostNuke that was working on Dot 8 is still working on it with a goal of a 1.0 release. In fact, since the retirement of the developers over the past couple of weeks, work on the .8 tree has not diminished. There have been several substantial changes to the tree from the last commit in the PostNuke .8 tree.

That said, we are making some changes as to how we do releases. Starting this weekend, we will be only releasing a tarball from CVS with the current picture. We will no longer have milestone releases for a couple of reasons. First, we are very close to a stable 1.0 release and we can decrease that lead time by no longer working on feature freezes until we reach a point that all of the 1.0 milestones are met. The tarballs that are released are not intended to be used on production sites, so be forewarned. They are to show progress on what we are working on, and for module and theme developers to stay abreast of changes that we have started. There will be a general community website in the coming days that will also be used to test the tree and the upgrades as we move along. I will make an announcement soon enough on the effort.

Once we reach the 1.0 release we will be using the same process for releases towards 2.0. Since we will have a stable tree at that time with 1.0, there will be no reason to have incremental releases that offer nothing more than extra support time, and slower development. Our goal is to still push the technology to its fullest potential.

Dot 7 and our stance

We will not be supporting Dot 7 for a couple of reasons. The first is, since PostNuke has moved away from a CVS tree, there is no way to keep a record of the commits that have been submitted. Therefore there is no accurate way for keeping track of versioning and knowing beyond a reasonable doubt that security protocols that were added to the codebase remain intact. I used to keep a log of all security problems that were sent to me, and I would periodically audit the tree for changes that affected each of these fixes. However, this has become negated by the lack of a versioning system.

In addition, I want to free our time from developing a lame duck tree which is filled with inconsistencies and instead concentrate on the future which provides the needed consistencies and control over the output. The problem with the Dot 7 tree is that it is basically three systems running that not only cause a problem for consistency, but cause a problem with the dreaded bloat word.

As I said in the town meeting, if all I had to worry about was backwards compatibility, and I could throw security, performance and control out the window, then I am all for it. However, we all know this is not the case. Currently however all modules that were coded to the pnAPI and pnMDG guides still work, and strides will continue to be made for the .7 API to continue to work towards 1.0. pnHTML is still in the codebase, but as a legacy feature for those modules. We will do our best to maintain some compatibility with PostNuke, however if they drop the API, there is not much we can do. Our focus is on our 1.0 release, and we will not be playing little games to decrease performance when it is all said and done.

Moving Forward

I have seen my name thrown about quite a bit from folks that seem to think they know better than I as to what was intended when I wrote the original vision for 1.0. I am not going to spend a whole lot of time arguing on a point by point basis since its wasted energy. All I can tell you is that I think I know what my intentions were when I wrote the vision document that everyone wants to point to. I also think that I might be just a wheeeee bit more qualified as to knowing what I was thinking for the vision, and what it will take to get there. Who knows though? All I can tell you is that we are progressing towards the 1.0 release with the best intention of getting to what many believed in, and still do.

We are building our infrastructure again. We have almost completed the development side of the infrastructure and are beginning work on the community side. In short order, I hope to have mailing lists and forums for all to leave feedback on. Sorry, no giant announcement that we have solved world hunger in a night, nor a quote from Tennyson. Plans are moving forward which were laid out in an RFC long ago for the community site, but were fought tooth and nail by some to be implemented. Since we now have the freedom to work without certain constraints, I am sure that there will be some very nice results. A community website, name for the project and organizational structures all will be announced in their due time.

Conclusion

What can I promise you? Really nothing more than the same drive that each of us had working on the PostNuke project. This announcement was made to ease some concerns that work from the past six months would be lost, and that the original intent of PostNuke would be lost as well. In addition, since I no longer feel as paralyzed to make the changes that are needed for the long term success to the organization, and infrastructure those changes will be made. My hopes are that this is the last and final time that I need to make an announcement of this type.

Thanks for taking the time to read my reasoning. If there is something that I missed, or something that I can answer, feel free to let me know at admin@dinerminor.com .

Enjoy the day!

John Cox -- Former PostNuke Project Manager

Updates
			
- There will be a upgrade path for our 1.0 release for PostNuke and other CMS users.
- Weekly tarball found here.  ***NOT FOR PRODUCTION and barely for testing***
			Changes from 9102
			- Further changes to archetecture
- A temporary mailing list has been set up here as final work is completed on the newsgroups.
- Enjoy!