Saturday, January 3 - Happy New Year!

thread: 24 messages  |  last: about 2 years ago  |  started: saturday, january 3, 2009, 12:40 am pst


#1  |  Mike Ho (Sunnyvale, CA) United States of America Qcodo Administrator
Saturday, January 3, 2009, 12:40 AM PST

First of all, Happy New Year everyone!

I just wanted to give you guys a few updates.

First of all... great news!  The folks at Eclipse PDT have just released v2.0 of the Eclipse-based PHP IDE.  For Qcodo, I believe the best feature that they've included is auto-completion support for Properties!  Apparently there have been some slight changes to the @property PHPDoc standard... so we will need to make a few small changes on our end (mainly the templates, and then adding virtual property documentation to all the core qcodo classes (qcontrols, etc.) -- but that should hopefully be in soon.  Once that's in place, you'll see significantly easier coding on Qcodo-based applications using Eclipse PDT.  Check it out at <http://www.eclipse.org/pdt/>

Second of all, and I do really apologize for the really, really long delay in this, but I've finally moved the Qcodo repository over to GIT, as it is now being hosted at github.  It is the first of many steps that I'm undertaking in the infrastructure of this community to allow for much better and easier community involvement -- and even more importantly, to remove myself as the bottleneck for the growth of this community.

For more information, you can read <http://www.qcodo.com/support/> or you can go directly to the Qcodo GIT repository at <http://www.github.com/qcodo/qcodo/>.

The next steps I'm working on is to improve CLI support in Qcodo (I know, it sounds a bit random).  But I am trying to implement a few tools to help make community-contributed code, branches, fixes, etc. much more easy to publish and distribute.  And in order to do this, I need to improve the Command Line Interface for Qcodo.  Hopefully within the next week or so, this should be wrapped up into the next Dev Snapshot release.

Please do post / reply if you have any comments or questions!

P.S. Thanks to everybody who voted on the Eclipse PDT website... I know it went a long way into making sure that property support got included!

#2  |  comet7 (Georgia) United States of America
Sunday, January 4, 2009, 9:13 PM PST

Mike - This is great!  I'm glad to hear you are alive and well.

How do you envision your branch advancing? (By 'branch' I am referring to the 'Mike Ho' git qcodo branch.) I think you have earned an allegiance of followers with the great decisions you've made getting qcodo this far and many, like me, would trust your branch over new branches.

As you know, there has been a lot of good work done with qcubed (currently a non-git fork of qcodo).  Is there any plan for any of these changes to make it back into your branch?

Is there a way the community can organize to help, and not overwhelm, you? I will do what I can to help.

#3  |  Riccardo Tacconi (Leamington Spa, UK) United Kingdom
Monday, January 5, 2009, 4:55 AM PST

Hi Mike,

This is a good news. I think that the main part where Qcodo can be improved is to bind the Javascript/AJAX library to a JS framework like Dojo or jQuery and to generate the application not only from a database but using some sort of DSL. Third the DB abstraction layer should be more abstract and designed to using several DBMSs. For instance in Oracle there is not any auto-increment field and the blob are not working.

#4  |  jragomes (S) Brazil
Tuesday, January 6, 2009, 6:38 AM PST

Good to hear you, Mike.


Good to know that community can get more involved now. So, are you planning a road map? What are the next big steps?

#5  |  youngj (Bangalore, India) India
Wednesday, January 7, 2009, 9:55 PM PST

Good to have you back Mike, was missing your voice and expertise in these forums.

#6  |  artnum
Thursday, January 8, 2009, 2:00 AM PST

Hi,
Good news and good decision Mike.
That's what we were waiting since almost 1 year!

But is it really restarted? what about QCubed branch and community, do they decide to come back and help or not? Mike, just give us a date for next Qcodo release, and smile will come back on our frustrated faces :)
...

#7  |  VexedPanda (Calgary, AB) Canada
Thursday, January 8, 2009, 2:12 PM PST

If you want to read or discuss the QCubed community's reaction to this announcement, you can find the discussion here:
<http://qcu.be/content/response-qcodo-being-hosted-github>

#8  |  cdhamm (Golden, CO) United States of America
Thursday, January 8, 2009, 4:10 PM PST

Mike, its great to see a post from you, and I'm glad you're willing to help contribute once again to the framework. However, I'm not sure what to think when I see no mention of the qcubed project; from your post it sounds like you are perfectly willing to allow the branches to continue forking in opposite directions.  I realize that qcubed isn't your project in the same way qcodo is, and I can't imagine the sense of ownership you must feel for the codebase.  That being said, its obvious that ignoring this issue isn't healthy for development, PR, and especially the community.

I personally don't see the wisdom in creating some very useful CLI tools for the qcodo project when they could just as easily be created for the qcubed project(which in reality is simply the latest version of qcodo), instead.  Can you perhaps give some insight as to why you're developing for qcodo instead of qcubed?  i.e. What the pros and cons were for you, which led you to this decision.  More importantly, what your long term plans are regarding the qcodo/qcubed divide(the qcubed guys say they want to merge down the road, but that relationship has to go both ways).

I'm not trying to flame or be disrespectful, but to write a post discussing a future version of qcodo with no mention of the qcubed fork leaves a huge question mark over where qcodo's leadership(you) wants the framework to go.  As you can see from the posts above, the most pressing concern of the community isn't CLI or even git; its where qcodo's leadership stands on qcubed.

#9  |  Mike Ho (Sunnyvale, CA) United States of America Qcodo Administrator
Thursday, January 8, 2009, 6:11 PM PST

Thanks again for everyone's comments and candid responses.

And also, I do appreciate the candidness and respect that everyone have been showing, especially the QCubed guys,   I know this is a trying time for the community at large, and one that could easily turn very ugly given the amount of time, energy and emotional investment that everyone has put into the community.  But I believe that the honest, respectful dialog across the board in the forums has gone a long way in helping to find productive solutions to the issues at hand.

Okay, a long post/response -- but here it goes:

First of all, please note that my not mentioning anything about QCubed in my post above was not meant to insult or snub the QCubed project at all.  I think they are doing a great job pushing forward a lot of things that I have obviously let fall by the wayside over the past months, and please know that I did not mean to intentionally ignore them.  It is just that my stance on the subject has not changed since the last time I posted about it (see my response on <http://www.qcodo.com/forums/topic.php/3443> from Monday, November 17, 2008, 4:59:34 PM).

The plan and roadmap for Qcodo over the next 1-2 months remains the same: I am actively working on developing the infrastructure-related pieces to remove anyone and everyone from being the bottleneck in allowing the community to grow.  This means not just myself, but anyone; community member, “core” contributor, etc.

What this means is that anyone and everyone should be able to publish changes, modifications, enhancements, etc. which can easily be discovered, installed, discussed, and improved upon by the rest of the community.

The use of git and github is obviously core to this strategy.  It allows anyone to fork off the project and publish new versions/flavors of Qcodo w/o needing any interaction by myself (or any other core contributors).

The toolset for git is especially great at handling this, with its ease to report on changes, merge branches, etc.

However, there are some limitations inherit in SCM tools like git and the rather unique/complex structure of Qcodo, being that Qcodo is a framework which involves both client-side and server-side components.  Namely, if there are rather large changes/differences to only part of the codebase in the new branch/flavor, and if there are changes to Qcodo in the originally unchaged part of the codebase in the new branch/flavor, then the new flavor/branch could quickly get “out of date”.  Situations like this will easily happen as we try to push for a community that encourages contributions across the board.

This is one reason why the entire move-to-git process has been so prolonged.  It took me a long time of researching and experimenting to try and find the “right way” of setting up git to mitigate this issue/risk.  Unfortunately, after months of trying to work through this issue, I was not able to find a way to setup our SCM to resolve it.

One solution, of course, could be to allow multiple people to commit to the core repository.  But there are two things to point out:

1) As more people get involved with that process, issues of code consistancy and quality start to take place.  Note that these issues do NOT take place due to the caliber of the people involved -- they take place merely because of the fact that there are now more people involved.

2) This still does NOT solve the issue of bottleneck.  Sure, the issue is minimized because the “load” is spread among more people... but the fact is that there is still an inherit bottleneck.  There is still a group of people that is determining the future direction for the whole community by determining what gets committed and what does not.

And the unfortunate thing to note is that the resolution of (1) plays squarely against the weakness of (2), and vice versa.

This is where the other set of tools come into play.  The things I mentioned in my above post (the CLI stuff) are not just some frivolous side project to get some things up and running.  The CLI stuff is as core to this strategy as git is.  Built on top of the CLI toolset will be the Qcodo Package Manager (tentative name).  Specifically, these tools will allow anyone to package changes, enhancements, modifications or plugins.  Moreover, it allows community members a very easy way of consuming each other's changes, without needing any sort of official “blessing” or intervention by core contributors.

These patches, modificuations and plugins will be posted in a new section of the website, and people will be allowed to make comments, discuss, make improvements, etc.  So even if certain changes or fixes haven't make it yet into the core distribution because the core contributor(s) have been too busy to get stuff in (sound familiar? =), it can still be used by the community at large, without any bottleneck in the way.

Moreover, if there are plugins/featuresets that are of high quality/caliber, but would be only of interest to a segment of the community, then packaging will be incredibly useful in allowing community members to grow microcommunities around those packages, even though it's not part of the “official” Qcodo release.

Will this turn the Qcodo community into an anarchy / free-for-all?  Certainly not.  Of course, there will still be an “official” Qcodo release.  And with this platform, it will be even easier to roll up these releases, because it will quickly become evident as contributions/packages are tested and validated and made popular by the community, itself.  And the combination of git with these package management tools will make it incredibly easy to push those packages back into the “official” release.

Hopefully (along with the community-related structural changes of qcodo.com itself that I have mentioend earlier, e.g. issue tracking, wiki, package repository), I am able to paint the picture of the goal to have a community where there are truly no more bottlenecks.

I know that the pressing question among most people is: Is QCubed going to be merged back to Qcodo?  Or alternatively, why doesn't Mike just drop Qcodo, and instead, join the QCubed team as he as been invited to do so.

I believe both these questions, while valid questions, miss the point of where I am hoping the community can move to.  Hopefully, if I have been able to clearly articulate the roadmap, you can see that with the new structure of the community in place, the new community will actually make these questions irrelevant.



However, one question that wouldn't be irrelevant and that should be addressed is the question of what I hope to see happen after these things are in place.

Honestly, I'm still not sure.

I have not directly reached out to the QCubed guys... nor do I think it's appropriate to do so yet.  I believe I've put some pretty exciting things in motion... but please do keep in mind, that all this is still just a starting point -- there is obviously still quite a bit of work I still need to do.

The folks at QCubed have been (very understandably) disappointed with my failure to deliver on a lot of these things in the past, which is a good reason why they felt the need to move forward with QCubed, in order for them to be able to push forward with their projects, products and companies despite my inaction.

With my track record of failing them in the past, I do not feel it's right or useful for me to approach them with my proposals/solutions to bring the community back together until these structural changes I am proposing are concretely back in place -- live, up and operational.

And at that time, as I said in my previous post, I would be open and happy to work with any or all of them to bring everything back together into one community.  But at the same time, I would understand it if they want to remain separate, and I would not want to force any sort of decision on them.

(But the ironic thing is, even if that were to be the case, with these planned changes I have laid out, it would actually be very straightforward for anyone to be able to build a package that would connect the QCubed and Qcodo changes together, and even that could be run on its own, without intervention from either myself or any of the QCubed guys.)



So I am going to continue to spend these next few weeks focusing on the things I have outlined above... and once those things are in place, I, they, or both of us will begin to post back to the community so that everyone can get a sense as to that progress.

Hopefully, this gives you a fuller sense as to what I'm trying to push forward over the next couple of weeks.  As always, if you need further clarification or have any questions, please don't hesitate to post.

#10  |  cdhamm (Golden, CO) United States of America
Thursday, January 8, 2009, 6:38 PM PST

Thanks Mike, that cleared up quite a lot I think.  Although I'm mostly a lurker on both forums, the relationship between the two communities has seemed at best strained of late.  Here's to working towards a common goal and keeping the discussion civil.

Best of luck on the new changes.



Copyright © 2005 - 2012, Quasidea Development, LLC
This open-source framework for PHP is released under the terms of The MIT License.