I think we need to come to a decision on the MooTools issue. I'm
personally against adding 1.2 or upgrading to 1.2 (or most other
options that see us shipping 1.2 in the core) for the following
reasons:
1) It has the potential to break existing sites without the owner
realising much of what is going on. Some of the discussion involves
updating MooTools in the backend which could potentially have weird
consequences (e.g. the user has a custom admin template + menu modules
which aren't MT1.2 compatible and they can't easily fix the problem)
but even now there are issues with it potentially conflicting in the
front end. If we want to give people the option to potentially break
their site, I feel we need to do so in a way that they really have to
opt-in, e.g. a plugin or something similar.
2) It increases the workload of the JBS. Now not only do they have to
potentially test against MT1.1 they would also have to test against
MT1.2, do a whole heap of testing when we're about to ask them to do
all of the same for J1.6 (and then some) which will already include
1.2 anyway. We'll be diverting precious resources in JBS away from
fixing bugs in either 1.5 or 1.6 and having them create potentially
more bugs and issues for themselves with a significant far reaching
software upgrade.
3) It is against our standard policy of upgrading significant third
party libraries in addition to technically being a new feature.
Historically introducing new features takes at least two releases to
bed down (look at the live_site addition, and remember how simple it
was and it was still broken) and updates to new libraries have a habit
of doing more harm than good (e.g. we made PDF rendering worse instead
of better at one point).
4) We'll be potentially creating a sub release where things change
significantly. We'll change the way that 1.5 is defined and developers
potentially will start requiring a specific version of Joomla! within
the 1.5 tree. Alternative suggestions involve creating a 1.6 release
just for MooTools 1.2 which seems silly when we a) have a 1.6 release
which includes MT1.2 already and b) an entire version number just for
a third party JavaScript library?
Whilst I can certainly see the benefits of having some more up to
date, I worry that the community is expending a whole heap of energy
on trying to upgrade a JavaScript library instead of being a part of
1.6's process and overall making it get here faster thus eliminating
the problem anyway.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Joomla! Production Working Group Leadership" group.
To post to this group, send email to joomla-wg-...@googlegroups.com
To unsubscribe from this group, send email to joomla-wg-produc...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/joomla-wg-production?hl=en
-~----------~----~----~----~------~----~------~--~---
There are a number of patches out there which claim to make the upgrade to Mootools 1.2 and have the core JavaScript behaviors that are dependent upon Mootools upgraded to work correctly. We have had offers of help to that end from several members of the Mootools team. We have a mostly working version of those behaviors already in existence in the trunk for the 1.6 release. I mention all of these things simply to illustrate that there really shouldn't be a great deal of workload or increased stress with respect to development time. It also seems that there are a number of third party developers and site implementers that are keen to put time and energy into an upgrade.
The added workload and stress then, would be something potentially taken on by the bug squad. That being said, the same upgraded behaviors will have to be debugged either with the release of Joomla 1.6 or with a maintenance upgrade ofMootools for Joomla 1.5. The argument against double work is a valid one, but we aren't talking really about two different sets of behaviors. We are talking about something that will, as best as we can foresee, will remain consistent across Joomla from 1.5 to 1.6 (if the upgrade is actually done in the 1.5 release cycle). I would put to you that it is likely going to be easier to solve those problems sooner -- while we have a great deal of energy and focus on this issue from the community -- than later when it is just one other part of a larger release and set of changes. I am in no way trivializing the task, it is quite ambitious to ask of the bug squad for sure. I just happen to believe that they are up to the task, and that help can be attracted where needed to help solve issues that come up.
What is the impact on workload and stress levels for third party developers?
This question is very difficult to quantify. I can say from my experience with upgrading scripts from Mootools 1.11 to 1.2 that the task really isn't that bad at all. There are numerous online resources out there which are simply a "Google Search" away. We have the support of theMootools community, and we have some very capable developers in our midst to help make a transition easier. We upgraded a large number of the behaviors for Joomla 1.6 in a matter of an afternoon or two. That isn't to say that they were 100% in that short period of time, but they were mostly functioning.
I think it is safe to say that the people who don't use the Mootools framework in the core because they don't like Mootools aren't going to care one way or another what we do and aren't going to be any more stressed whatever the decision is. The people who don't use it because they can only piece together behaviors based on what others post as examples online may find life easier. There is a large and growing set of code out there written forMootools 1.2 that can be pulled from by third party developers and implementers which just isn't available for Mootools 1.1. Third party developers who are currently using the core distributed version of Mootools should have an easy go upgrading and we can/will welcome them and their questions to our development mailing lists with open arms. When necessary we can ask for help from our friends at theMootools project. I would stress though that while there are a number of API changes between Mootools 1.1 and 1.2, the vast majority of those that would cause problems are syntactical in nature and easily fixed. Those who are using various methods to "upgrade" the version ofMootools with their extensions so that they can use the added power of version 1.2 in their JavaScript behaviors will see workload and stress levels decrease.
In general interoperability will be easier for all third party developers because the latest versions of Mootools allow for a much needed "no conflict" mode which would cause less headaches and support problems when extensions are installed that do have differing JavaScript frameworks. That situation is inevitable. As much as I would love to see developers take what I see as the responsible approach and use the core distributed JavaScript framework I know that will never be reality. It will certainly never be close to a reality if we refuse to give those developers the best and most up to date foundation on which to build the extensions of their dreams. Not making the change because it may be difficult for third party developers to "be ready" or "make the change" gives them too little credit in my opinion.
What is the impact on workload and stress levels for site owners/administrators?
This is probably the most difficult question to answer. There are so many Joomla sites out there, and they are setup in so many varying ways, with so many different combinations of extensions that the majority of what any of us can do here is pontificate on what is best for everyone in abstract terms. I think it is probably safe to assume that the vast majority of Joomla site owners and administrators don't know what a "Mootools" is. It would probably be scary to a lot of us how many of those people don't really even know what a "Joomla" is. Even in the last few days we have gotten emails to our Joomla Security Strike Team from people telling us that they lost their password and wanting us to please send it to them, or asking why their site was hacked by us because our logo shows up on their site (site offline page).
That being said, it really shouldn't be required of a site administrator to know what a "Mootools" is. In the best possible scenario, a site owner/administrator doesn't have to know anything about Mootools or what version is included in the core distribution. When I purchase or bring my car into the shop I shouldn't be required to know whether my car requires copper, platinum, or iridium tipped spark plugs. I should just be able to expect that the car works as designed.
Those of us who are providing third party extensions, and I am one, have some experience with administrators installing varying extensions and thus having mind-numbing frustration over JavaScript conflicts. There is nothing we are going to do that is going to stop third party developers from building on the framework of their choice. There is nothing we are going to do that will stop administrators from downloading and installing all of these extensions that use varying frameworks. The best thing we can do in my opinion is to accept reality for what it is, and take what reasonable steps we can to actually make life easier for these people.
If you look at the most common frameworks out there being used with Joomla 1.5, you have Mootools 1.1, Mootools 1.2, jQuery. Of those options, which one is causing the most pain? Which one doesn't work with the others? Mootools 1.1. We all know that Joomla 1.5 is not going anywhere any time soon. I don't see how forcing third party developers to deploy sub-standard workarounds to use the framework of their choice is helping site administrators. In my opinion we are either going to go through a short term pain cycle or we are going to continue distributing software that burdens administrators with these interoperability problems for the remainder of its life-cycle.
To what extent does the decision impact the ecosystem's ability to thrive and innovate?
The simple fact is that Mootools 1.1 was obsolete just a few short months after Joomla 1.5 was released. Does that mean that we should have done the upgrade much sooner? I don't necessarily think so. There is a careful balance to be maintained between stability and innovation. People who do innovative things and think innovative thoughts are usually living on the bleeding edge. That means they need to be able to use bleeding edge technology. Mootools 1.1 hasn't been that for a long time. Truth be told, there isn't really much that I can think of which would require Mootools 1.2 over 1.1 to accomplish other than live comfortably with other frameworks. To me, the real reason to upgrade to Mootools 1.2 isn't because Mootools 1.1 is stifling innovation, it is because 1.2 allows greater interoperability with other frameworks.
We have developers trying to figure out how to "work around" a problem that doesn't have to exist instead of spending that time working on new and fun things to drive innovation on our platform. Is that perhaps an exaggerated position? Maybe, but every little bit helps. People that are innovating withMootools right now are doing it on 1.2. If we want to harness any of that and feed off of it, the answer isn't to have our developers first back-port it to an out-of-date version.
What policies and precedents can we look to in making this decision?
As far as I know it has been general practice for us to not really perform upgrades on third party libraries distributed with Joomla in maintenance releases. There have been a few exceptions over the years, the most recent being the upgrade ofTinyMCE . Most of the time, the reasons for these exceptions stem from there being either a security implication or a version of something being end-of-life (no longer supported). In recent years I haven't really been involved in this process and it was largely (to my knowledge) influenced by ideals set forth byWilco and Anthony. Wilco was one of the first development leaders chanting the importance of stability and no new features. This isn't without merit, as we have traditionally had some serious issues with scope creep and focus. There are good examples on both the "do" and the "don't do" side of the debate from our history.
In the past I have actually argued against this change. Largely I saw it as unnecessary and without real benefit to site owners/administrators. The improvements made in Mootools 1.2.3 to interoperability have changed my views on the matter however. There is real benefit there, for the long term. This isn't a few extra unnecessary bells and whistles in an external library. It is an opportunity for substantive pain relief over the rest of the Joomla 1.5 release cycle. It is also an opportunity for an iterative move towards Joomla 1.6.
Once a decision is made, what is the best way to communicate the outcome and reasoning behind the decision as clearly and concisely as possible.
There are certainly communication challenges that will need to be worked out. There are alternative distribution channels such as Fantastico to consider for example. People that installed and upgrade their sites using those types of tools won't necessarily be as exposed to upgrade information as people who visit our sites to download new versions for example. Perhaps then, this is an opportunity to reach out to those vendors and see what solutions can be worked out. This isn't the only time we will ever have to consider something like this.
We are going to have to give ample lead time so that people are not blind-sided by this as much as possible. We are going to have to be diligent in reaching out and explaining the situation, helping people along the path, etc.
Conclusion
The notion that releasing 1.6 is going to make all of this better is not something I can really buy into. There is a great deal of inertia that will need to be overcome for people to get moved to 1.6. We could actually make that transition path easier by upgrading to Mootools 1.2 in Joomla 1.5. I also have a great deal of faith in our community's ability to rise to a challenge. We have done that on a number of occasions and I think in this particular situation "the juice is worth the squeeze" in the long term.
My suggestions for the path forward would be the following:
- Choose a date somewhere around the end of January or beginning of February, and set that as the date where Joomla 1.5 will be upgraded to useMootools 1.2.
- Create a branch off of the 1.5 tree and enable interested people to collaborate on the solution. Keep it up to date with any changes that take place in the 1.5 source tree.
- Release a system plugin as soon as possible which simulates the changes to 1.5 so that third party developers and site implementers can be actively working on being ready for the deadline.
- This would also have the side-effect of being a consistent way for third party developers to use Mootools 1.2 in the interim -- or the framework of their choosing since it will be in "no-conflict" mode.
- Invite developers with questions or struggling with finding solutions to join our mailing list so that we can help them find an efficient and effective path forward.
- Reach out via our translation teams and third party community to communicate the deadline and what it actually will mean for administrators and developers.
- Reach out to alternative distribution sources and let them know the impact. Find ways to collaborate on getting the word out.
Surely this isn't going to be small and trivial, but it isn't impossible either, and it may very well prove to be an example on how to make smart, necessary changes in the future. Change management isn't necessarily about never changing, its about doing it with a plan, and making sure that it happens only for a good reason.
--
You received this message because you are subscribed to the Google Groups "Joomla! Production Working Group Leadership" group.
To post to this group, send email to joomla-wg-...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/joomla-wg-production?hl=.