1. Carl Hancock

    Was the menu system in WordPress 3.0 inspired by WooNav? Of course. Everybody knows that.

    Is the code in the menu system in WordPress 3.0 the same code that was in WooNav? Not at all. It was completely rewritten from the ground up. Pretty much nothing remains of the original WooNav codebase. The code, data structure and UI was all entirely redone.

    John O’Nolan was being generous when he said 90% of the code was rewritten. I would say 99% of the code is more accurate. There might be some function names that are the same, but everything else (including the code in those functions) is completely new.

    I’m not sure how lavish credit can be heaped on Woo for the contribution considering what they contributed ended up being rewritten to the point that it is an entirely new piece of code. I think they have received a sufficient amount of credit for inspiring the functionality. But they shouldn’t get credit for the code, because it’s not the same code anymore.


  2. Milan Petrovic

    I was just yesterday comparing the codebase used in current NavMenu in WP 3.0 with WooMenus, and I couldn’t find anything that these two share. WooMenus can’t be expanded, they support only link, page and category for menu items, all data is stored in sepparate tables in DB. WooThemes really did come up with excellent concept for the menus, and up to a Beta 2 release of WP 3.0, I preferred Woo implementation, because WP version was constantly broken and causing problems.

    But, with WP version there are some things I really don’t like: use of taxonomies for menu items. I would prefer if the menus are stored as serialized objects, most operations would be much faster that way. Also, I find strange the decision to put items widgets to the left instead of right as we all used to with other WP panels.


  3. Dan Cole

    Maybe when WordPress.org is redesigned, they will incorporate some small widget that highlights a random contributor to WordPress. Like a public thank you or shout out, along with a link to their profile page. If that’s too much to ask, they could add an Easter egg to WordPress.org that thanks contributors randomly (1 in 1 million odds and no more than once every 6 months for a person), when they are logged in. I know WordPress.org has thanked contributors as a whole in the past, but something more personal would mean a lot to them.


  4. Brad Potter

    For me it’s not about how much code was changed or how much the GUI has changed (they still look similar to me), it’s more about a “great idea” that sparked a solution which is going to put a smile on many WordPress users. That said, there is still plenty of room for improvement in the GUI and no lack of opinions on how it could be improved.


  5. JohnONolan

    Nice summary – and well said :)


  6. Ryan

    @Carl Hancock – I’m not sure I’d say it was inspired by the Woo Nav system. The original system built for core was not that much different from the current version, and at that point no one outside of the Woo team knew about what they had under development.

    @Jeffro – Good post.


  7. Dan

    Probing the psychological motivations of people who contribute to open source projects would be a little bit heavy, but fortunately a majority of them seem to expect their reward to come in a form other than a cheap link ranking boost.
    Wordpress.org has pagerank 9 right now–it’s going to be a target for this kind of posturing from people as long as its number is that high.
    If Woo themes had insisted their (PHP) menu system was proprietary, wouldn’t that potentially violate the GPL anyway?


  8. Kevin Muldoon

    I think a thank you link in the admin area would go along way. Both to thank those who have contributed and to encourage others to do so.


  9. John Myrstad

    @Kevin Muldoon
    That would be a long list of links…

    The implementation of the Woo based menu was a win/win situastion for Woo. They got credit and community goodwill, and a better menu system, which makes the theme market Woo operates in larger, and they will have less expenses making Woo themes compatible with latest buids.


  10. Kevinjohn Gallagher

    Was the menu system in WordPress 3.0 inspired by WooNav? Of course. Everybody knows that.

    There’s a couple of things here. First is the above quote.
    Not “everybody” knew that. I didn’t. Who is this “everybody”??

    Seriosuly, if you happen to miss a week or two in WordPress land you can miss things like this.

    Second of all, I think some continued credit should go to WooThemes because in the past 18 months, theme developers and re-sellers have had quite a bit of stick from the “high and mighty” people that contribute to WordPress. WooThemes, Thesis et all have been villified by a great number of people who made a choicce to give up their work for free. Here they are giving back and when they do and talk about it, they’re smacked down as they’ve “already had their credit”.

    But Thirdly, Whats wrong with someone making a bit of noise to make sure they’re getting some credit as WP3 goes to RC. If you don’t want to mention it, then don’t mention it – simple :)

    Lastly, I think they should get a bit more credit for the IDEA. We’re quick to praise Jane and Matt when someone else does the code – why not WooThemes too? Code is a large part of any project, so is the IA and UX and testing and…. etc.


    The link you point to has two real issues:
    1) It contains an answer to a question we never get to see. Lawyers answer specific questions, and while the answers seem quite complete and well rounded, without knowing both sides of the conversation, it’s very easy for someone/anyone to make assumptions about the specifics entailed.

    2) Matt summarises by saying

    Even though graphics and CSS aren’t required to be GPL legally, the lack thereof is pretty limiting

    Except the letter from the lawyer states that all graphics, javascript, stylesheets, HTML, static content, comments etc. that isn’t “processed” (i.e. can be called and loaded and included etc – but not actually processed) by WordPress’s PHP code isn’t hit by the GPL.

    it might be possible to design a valid WordPress theme that avoids the factors that subject it to WordPress’s copyright

    Something Matt didn’t touch upon, but that just because it’s a WordPress theme doesn’t mean it automatically being hit upon by the GPL. Far too many people read the letter withotu asking what the initial question was, and then absolutely accepted Matt’s summary as fact. Really only code that instrinsically interacts with WordPress functions to produce data would do so. Something like WooTheme’s menu didn’t neccessarily need to – though it probably did in practice.


  11. Kevin Muldoon

    @John Myrstad – Yes. Obviously any such list would have to be randomated.

    Kudos to WooThemes for providing the framework. A lot of companies wouldn’t have.


  12. Justin Tadlock

    Since we’re giving credit to people that built the menu system (the one that’ll actually be in WordPress), let me name a few:

    * Ptah Dunbar
    * Austin Matzko
    * Daryl Koopersmith

    This is not to knock WooThemes’ contribution at all. I’m grateful for their contribution. But, if we’re going to give some credit, let’s give it where it’s due. Note that this list only recognizes three of the bigger contributors, not everyone else involved in making menus work. This list also doesn’t include all the folks that worked on the post type and taxonomy systems, which is how menus are stored. It also doesn’t include the UI/UX team. In short, there’s a very long list of people that made menus happen for 3.0.

    WordPress is a community of people working together. Most of us do it because we want a better platform, not because we want credit.


  13. Jeffro

    I was going to respond to all the comments here but instead, I’ve written a post and published it on Weblogtoolscollection.com, feel free to leave a comment or two on that post.



  14. Christina Warren

    I don’t want to pretend to know David’s motivations for his post, but I read it as frustration from the more design-centric parts of the community. I’m not saying Woo should get MORE credit than anyone else and I don’t think they need like a special plaque or anything, but as others have noted, there has been this tension in the WP community between the people selling themes and people who are against that idea (GPL issues aside), with many comments like, “why don’t you contribute to the main project.”. Well, when they finally do contribute something they wrote (something that set Woo apart from it’s competitors, no less) to core, it isn’t met with thanks, but bitching and snide remarks about the code quality. Ok, fine — it had to be rewritten and restyled. It had to lose JavaScript dependencies for accessibility purposes, but frankly, having spent the last few days cleaning a friend’s pharma-hacked blog, I don’t think anyone in WordPress should be too high and mighty about the quality of the projects code.

    For that matter, I think this animous and frankly, nasty tone a lot of community members have had towards Woo’s contribution (fine, try to preface it with “you’re grateful” but if I say, “don’t be offended but you suck” will you not be offended?) hurts having other designer-centric contributions actively reach out. If I’m Obox, why in the hell would I try to actively offer my stuff if the community is just going to take it and then bitch about it and dismiss it after the fact? Why would I even bother?

    It’s not about credit, from my view, but respect. And I don’t think Woo has actually been given much respect.


  15. Pete

    @Justin Tadlock – I think your last statement sums it up well “Most of us do it because we want a better platform, not because we want credit.”.


  16. Andrew

    I started to write a reply here, but it became a blog post instead. Two excerpts:

    After they contributed a giant patch, we switched the schema over to a custom post type and taxonomy, rewrote a lot of the code to conform to our coding standards, and started to build out an API. After a round of usability testing, we made some numerous design and UI changes. We also needed no-JavaScript support and RTL support, and our new UI called for new JavaScript, so most of everything ended up being rewritten.

    Point is, that’s how it works. It’s called iteration.

    It was a very sizable contribution that then drove our stalled development in the direction we were grasping at for some time. But it was also just the first of hundreds of iterations (like any other major feature) — the patch was an early prototype of a feature we wanted to scale to millions.

    More here.


Comments are closed.

%d bloggers like this: