Its been quite some time since I have written here. Perhaps its the priorities, or perhaps its laziness. Either way, I just haven't kept up to date.
The main reason that I am writing is because I have finally come full circle in CMS's. I started contributing to the PHP-Nuke project by writing a tutorial on how to build a theme. I never thought that it would (a) generate the traffic that it did, and (b) start me on a course on PostNuke and then Xaraya. I came full circle as I mentioned by writing another theme tutorial for Xaraya.
I know that this won't be as widely read in the beginning (and perhaps never, who knows what the future brings), but it felt nice being able to back away and write some documentation. I am coming to the end of my time of leading a CMS project. Once the 1.0 hits, it will be time to step away and explore something new, or finish the projects that I started PostNuke in the beginning for. I will continue to contribute to Xaraya, but its time for the smarter folks to figure out a better plan for a mouse trap for 2.0, and for me to follow rather than lead.
Sentimental over a tutorial;) I really have gone crazy;)
Time creeps up on me now. It used to be that each passing month seemed to go on and on, but now it seems that the months are shorter. Perhaps, I am just less organized than I used to be, or perhaps I just have more to do that I used to have. Perhaps, I am just getting old.
Either way, time is creeping up on me with Xaraya. It is progressing well, and I think that the core is about 80% there. What is lacking is the functionality in the modules in my opinion and some of the necessities of infrastructure that are needed to launch. I am somewhat happy of the progress, although I probably will never be 100% happy with the end result. If we had the luxery of time and a budget, perhaps we could take a little more time to sit back and smooth some of the rough edges that we have right now, although I do keep banging away at them.
I have been thinking more and more about writing a paper on management of Open Source projects once I feel that I can move on and out of the light a bit. It would be interesting to go back over my notes from the beginning of PostNuke and just wax a bit about where I went wrong (which is probably lengthy), what I would change had I a chance to do it over again, and what I did right, so I can reinforce some best habits.
I think at times in reflection I spend too much time on the negative and not the positive. I don't think we would have made it this far without just a little bit of the positive to move us along.
Yet another Thanksgiving! I have always loved Thanksgiving, not because of the dinner, or the holiday, or the start of the Christmas season. I don't know why really. It's not much of a holiday besides a time to reflect on the previous year and to give thanks for what you have and to set goals for the next year. It just seems to be one of the few big holidays which are not melancholy.
Prefix changes in Xaraya are going extremely well. Since we switched to BitKeeper instead of CVS having scenarios work much better. The merging is easier, and the multiple repositories are easier to maintain rather than the branches of CVS which never merge very smoothly (either that, or I never quite learned how best to do the merges).
We knocked out the entire repository in about 6 hours today changing every prefix to xar vice pn. Since we already had a wrapper function in, the legacy should not be nearly the problem that it could have been. I believe that we are still well on track for a public release late winter early spring.
I finished my Business Law class yesterday. Ugly class, tough, and it seems that either I know little about the motivations of business, or my peers know very little. I can't seem to get out of a class without an aurgument. This class' aurgument was on whether safety should be the number one priority, and I contend that it is profit since turning a negative P & L is never acceptible. I recommend that anyone thinking of a career in Business Management look somewhere else;)
I think if you dig around in the installer, you will see that it is modular, and you can do exactly that. There are certain modules that will need to come preconfigured, such as the users, base, permissions, groups, etc, but other than that, the installer is just reading the init file and installing. So what you are asking for, I do believe you already have.
grape -- You make valuable points about the users perspective on software. What I don't understand is when people turn software development into some sort of "moral" or "political" cause. I have bitten my tongue quite a bit on the envolution people, even though a couple of them have thrown enough stones at me to build Bedrock (WIIILLLLMMAAAA!!!). One of these days once I am out of the managing scene for CMS aps, I may write a book;)
How does anyone make something extremely complex also user friendly? The Xaraya permissions system is extremely complex, but at the same time extremely powerful. My task at hand codewise is to figure out how to change the system so that it has better sorting capabilities, better user friendliness, and is still backwards compatible to the .7 API spec.
I have ideas, but without spending time working on them, I am not so sure that they will pan out. I have to basically build two new systems in order to improve the friendliness without degrading the power that makes them what they are.
For the people that have figured out how to use the permissions, they understand what can actually be done. However, I fear that not many have figured them out. Most of all I fear that people writing modules have limited the power of the system due to people not figuring out the permissions GUI (namely only using the Admin and Read permissions and skipping the rest).
I suppose this next week will be fun. I am taking vacation, and spending the time finishing my office (got all of my puter's networked today, along with RH installed as a dual boot on my kids computer) and working on the modules and permissions module of Xaraya. Possibly on the next writing of this journal, I may have cracked the problem, but at 10:30 on saturday night, its not looking great:)
Drum - The constraint. If we can agree that everything upstream from the constrain and everything downstream from the constrain can operate faster than the constraint itself, the the constraint is what actually determines the throughput.
Buffer - If something upstream from the constraint goes down or has problems keeping up with the constraint in the meantime because of "murphy's" then there needs to be a "safety" net of time to allow the drum beat to continue on.
Rope - You do not want to flood the system with "stuff" instead, you want to release into the system "stuff" at the same rate of the drum.
So how does this apply to Open Source Management? The same way that it apply's to project management in general. There are scheduling constraints. You need to apply a certain amount of buffers into the overall system scheduling in order to always be feeding the constraint. And you don't want to start anything new until the constraint can handle it.
What I am confused on is the goal of Open Source in general, in order to lay down a general project management white paper to push forward the ideas in general to increase the productivity of all:) So is the goal the same as commercial projects, to make money in the end? If so, then the constraint and measurements to let you know as a manager of the project needs to be set accordinly. However, I am not so sure that is the actual goal of every project. Some projects have no intention of every making a dime, but rather the goal might be to scratch the "itch", or to do something different, or to learn, or to accomplish something that others said would be impossible.
I could easily set up the goals for the my project, since they are relatively easy. However, I am just thinking aloud, because this is something that is very interesting to me, and I would like to write something from my experiences, and allow others to have a good model not for their organization or project, but rather something to help them plan and manage just a little better, using and applying some theory, and some know how:) I am just stuck at the beginning though on getting started with the actual goal, which I have taken for granted for so many years.
To me, it's an interesting exercise, thats all:) I am not trying to reinvent whats been done before, but rather to apply some of the theories that the commercial software sector has been applying for years, and relating those back:) You see, in many case Open Source has an advantage over the MicroSofts of the world, since the goals are different. However, when you drive the other car (M$) you also have several roadmaps and signs that we do not clearly have. I just think that by constructing some of those signs and maps, we are able to compete more as a community which is a good thing for all:)
Rambling again... Bah, its a diary, I'm allowed:)
Chloe's first ever soccer practice is in 2 hrs:) I am a lot more excited about it than she is.
I need to get my predictions for week 1 NFL as well;) Predicting against the spread is a little more difficult than the out right winner, but it is also a little more fun:)
A little more free thinking on using TOC theories with open source management, and how it can be used to increase productivity and ease the 'murphy's' that exist for anyone that is dealing with group type development. A good article on the subject (more a research paper, but nonetheless) explains the relationships of the constraints to scheduling and management.
Granted the TOC theories are often thought of in the context of manaufacturing, however the overall concept can be applyed anywhere, such as project management, or optimizing any system to make the system run better.
The two main things that I am confused on though is the actual "Goal" of a open source project. There needs to be one actual pot of gold at the end of the rainbow so you can set your sites on it, and set the system to exploit the constraints accordingly. What is the goal of any open source project? Is it just simply the satisfaction of creating instead of the normal throughput measurements of business?
I did find a couple of interesting articles on the subject, including one on Advogato by rakholh which he says "The whole point of making a program is not to keep it tucked away in some secret hidden vault. It's for everyone else out there to enjoy and use. That is the ultimate goal of any program, be it opensource, closedsource, commercial or non-commercial." but I am not so sure that it applies to what I am thinking, because commercial projects main goal is not to have everyone use the program if you buy into the therory of constraints but rather the end goal is alway to make money. So can the same be applied?
Hmmm, more pondering to do:) Seems its a difficult question for me to answer.
Still need to think about what is the Absolute Goals, and not the relative ones. I have read quite a few good ideas, but I still think its not as defined as it should be. Is a projects end goal satisfaction, or something more or less abstract? I am not so sure that I have ever seen the goal defined (not talking about technical goals), but then again, I am not all that well read as most of my peers in the open source community.
NFL starts tonight. Giants at the 49'ers. I pick the 49'ers in a 24 to 17 victory over the Giants. Giants lack the QB, unity, and cohesion to do alot this year, but then again, I am not an expert. I like the 49'ers even with the points.
Team building is a challenge for me with open source projects. There is a certain amount of latitude that you have to give everyone on the team in order for there to be some fun, and there is also a certain amount of control that you need to have over the processes in order to maintain the desired consistency. Motivation I have found, usually isn't nearly the concern as it is with for-profit projects, however, keeping everyone on the same page is. It is quite unique that the constraints are completely different with the mindsets.
I suppose that this can be illustrated through the 'TOC' theories, since the exploiting the constraint is different, as well the measurements, and the end goals. Is there a need for throughput reporting, when the goal isn't always to show a return?
I have been looking at the different models of OpenSource structuring, and how successful projects work, since my last project goes into the semi-failure side on my management skills. Some of the organizations such as Apache make very good distinctions as to the 'ladder' of responsibilities, and accountabilities, but I have been wondering if it is the best model for me to benchmark and measure against. Not to say that it isn't the best to emulate, but are there further opportunities to exploit from the constraints of the org structure?
I still don't know if I can grasp in my mind what the ABSOLUTE end goal of an open source project management should be, when there appears to be several to choose from. I must somewhere along the line seem to be missing the castle at the end of the maze. If you take any kind of money out of the equation is the end goal simply satisfaction of creation, or is there some other goal to ponder? If you throw any money back into the equation, does the P & L and throughput become the top of the line as the 'goal'.
Bah, need a beer and another vacation to start think more abstractly.
New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.
Keep up with the latest Advogato features by reading the Advogato status blog.
If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!