And the whole-page-is-images thing really bothered me too. Some nice designs and interesting ideas for sure, and knowing CSS isn't a prerequisite for being a designer, but damn, I have some doubts about the understanding of the technologies here.
Which is probably exactly where the concept of "forking Wordpress" came from—a misunderstanding of exactly what that would entail.
Modern rewrite is what's needed, definitely. But don't call it anything related to Wordpress. Don't need to.
Perhaps one thing overlooked in the argument for fork vs new build is that there aren't a huge number of developers with the skills to make this happen who would do it entirely on an Open Source contribution basis as opposed to, say, a startup basis. Appealing to existing WordPress developers, businesses and users, as well as cutting down time to ship first working concept, are (in my mind) some important arguments in favour of a fork.
I am one of the early contributors to WordPress (you'll see my name on wp.org's About page near the bottom), and one of the founders of the Habari Project. We started the Habari Project for many explicit reasons, but in part because the curators of the project (Automattic) were not behaving in a way that we felt was beneficial to the community they had begat. So let me tell you a little about our project:
Not only is the Habari Project an entirely Open Source platform, but it recognizes participants in the project appropriately based on their contributions, something that I did not observe during my tenure working on WordPress.
Habari employs the Apache Software License, which is more permissive than WordPress' GPL. Want to develop a plugin or theme? Is the code tainted by the GPL? In WordPress, I don't really know for sure what parts can be redistributed, if any. In Habari, you can sell your themes and plugins for profit if you want to, or contribute them back to the community -- most themes and plugins so far have been.
The passion of the Habari community for producing good, documented code has (in my mind) been one of the driving forces behind WordPress' "recent" adoption of similar policies. The quality and friendly tone of assistance I get from people who know about Habari has been consistently orders of magnitude better than anything I've seen come out of WordPress, which is a characteristic that everyone working on Habari strives to maintain in the project. One of our guiding principles has been to be a project that is useful for web development education; We've seen a lot of people join our project and learn how to code well, both in the method they use and in the collaborative environment our development often lives in.
We've accepted a policy of keeping up with as current a deployment of technology and standards as our core users can stand. We recently adopted a PHP 5.3 minimum version, and I'm pushing hard to take that to 5.4. Habari simply does not run on PHP 4, and never will because it's no longer secure. We code for HTML(5). We're using CSS3. Our roadmap (admittedly difficult to find online) includes PSR-0 and namespace adoption to more easily integrate with vendor libraries. The use of current technology and techniques is really good for developers, and a refreshing change from projects that insist on supporting every old (insecure) server architecture out there.
And I'm currently making a living (yes, paying the mortgage) deploying Habari as a CMS for clients. It is viable. It is open source.
I know first hand how long it takes to build a working product with a small community. We are admittedly behind in our implementations of some features that WordPress was able to steam ahead with due to their larger community. There are also non-dev areas like marketing where we could use some work. We've been trying (albeit weakly) to lure those kind of contributors to the project.
We had a talented designer help us with our current admin design, and one of the things people comment on most about it is how it's not as cluttered with st as WP's. I like the design you've used in Ghost because it's similar to ours, yet modernizes, and I think our community would like it, too. We've been talking heatedly about a new admin design for our next release...
Habari may not be the thing for you, but I do encourage you to take a look, visit our IRC channel on freenode, and take from it what you can. If you still want to try to bend a WordPress fork, I'm at least interested in the story of your effort and struggle. And if you want to chat about why we started over (though I think it's obvious, maybe it's not to everyone else) instead of forking, or why a new project with a handful of addons (compared to a competitor) can still be a contender, I'm happy to chat. Here we are: http://habariproject.org/
Also, when you mention that you manage to pay the bills with development of habari powered sites, do you draw from a community need for habari developers or are these clients that you persuade to use habari ? I'm curious about the overall community and where it's going.
Thanks !
As others mentioned, the main habari/habari repo commit count is low because the main development doesn't happen there, but in a submodule'd repo, habari/system. The purpose of this is to allow you to easily fork the main repo to add your own plugins and themes to it, while the submodule continues to pull from the system repo. It's very beneficial from a maintenance standpoint.
I'm not sure how to explain the community. My involvement has been nothing but beneficial for me, and it has been a similar experience for the people I know the community has touched. Development has been reasonably continuous, as you can see here: http://www.ohloh.net/p/habari
I can't answer for @ringmaster, but for me it's client work, though it's a sideline to my main job at the moment.
Because WordPress is built on PHP it has a wider array of deployment options, including many low-cost options, while maintaing a relatively easy to use sheen.
I think it makes sense to evolve WordPress to merge the benefits of something like octopress with WP.
A small distributed team could probably build basic Ghost functionality in a couple of weeks based on PW.
There is a very popular piece of software that millions of people use today that was a fork of a large, sprawling suite of a mess of several programs that used an actual Godzilla as its mascot: Firefox.
Having said that, you may be right.
I agree that Wordpress should have saner defaults but it is not impossible to build a fast site with it.
WordPress is over 100 files of code 3mb size, loading on every page, BEFORE plugins.
It's impossible to build an active, non-cached site with it.
I have 100% dynamic php forums running side-by-side with wordpress and they are completely uncached - for WordPress that's impossible at the same load.
This is what I love about PHP devs. Imagine how much effort it was to write that. The author may not have have the chops to refactor that into something elegant, but he wanted it done and was perfectly willing to just do it the hard way and FUCKING SHIP IT, warts and all. Its easy to laugh at code after the fact, but you can't argue that a ton of people aren't finding the author's work valuable.
I find it curious we don't necessarily aspire to quality; and I think we should. I'm not happy just FUCKING SHIPPING IT.
How are end-users supposed to judge whether they just blew an enormous hole in their site, by selecting a plugin from the repo?
Time to reflect upon a classic of the genre: http://cm.bell-labs.com/who/ken/trust.html
There is an entire WP ecosystem of people having to judge whether they blew an enormous hole in their sites by selecting one of the zillions of plugins available, why is this one different?
But with web programming, if you're not good at it, but you have the perseverance to bash on code until it's "good enough that it works" (which is admirable, don't get me wrong), there's a very high chance it's got some major holes.
This is a real consideration to me, cause I'm working to teach kids technical computer skills, including programming. If I'd teach them PHP, I'd have to wall off the server, because many of their projects are bound to be full of holes, and we can't take the chance that one of those would affect our organisation's website. It's volunteer-based, so there might not be money to get a separate hosting package. Same if I were to give them all their own WP install, some of the projects are going to be forgotten, and I'm not going to be the one making sure they're all being kept up-to-date and secure for the rest of their lifetime.
And that's a cool article you linked. I already knew it, but for those who don't: it's worth reading, check it out!
Of course, I fall short of offering a solution, because there is none that doesn't imply writing bug-free code (impossible if it's not trivial); spending inordinate amounts of our spare time vetting this code; or otherwise stopping people from learning in the first place. The other one is to tell people not to use these plugins, or to be more careful, but they need to know what's currently'safe' and what isn't.
I just don't like the mindset that 'shipping' code is the be-all and end-all when as masters of our craft (hyperbolic?) we should at least aspire to more than 'good enough' or 'working', even if it's unattainable.
Unless I misunderstood what you mean, here :)
Yes, it is - there's a lot more non-techies than there are of the other kind, so it makes sense that you focus your efforts on the larger market.
As for the whole "language that beginners use to learn about programming", do you mean Python or Java? PHP is everywhere but the last I checked, Python and Java are the teaching and taught languages.
PHP itself is designed to get things done, not necessarily elegantly. For all it's problems, it is a workhorse and blaming the language for what the users have done is just wrong. Programming languages are like hammers and should not prevent one from doing something stupid or irresponsible. Doing the smart or right thing is the responsibility of the user.
I don't want to spark some sort of war on what language beats up your language. So I wont. Besides I don't think something 'being everywhere' makes it good. By that standard lots of things in this world are good.
PHP is exactly what you say it is with regards to being similar to a workhorse. It is a tool for programmers who like to work very hard to achieve something that a harvester could do a lot quicker and more efficiently.
Alex Munroe explains what I meant better than anyone I have seen. It is a great read. Also if you like PHP. http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-de...
He does not bash PHP, he explains why he thinks it is the wrong tool for the job. Interestingly, he also uses the tool analogy. We are all so predictable :).
I go to any $5/month host, check "install wordpress", and it's done. When Clojure CMS/blog apps have even 1% of the installability (as in, ability to be installed) by non-developers, perhaps they'll have a fighting chance.
I say this as someone who develops Grails apps all day long.
That is a function of popularity, not language. If some blogging app had a userbase the size of wordpress's, it wouldn't matter if it were written in PHP or brainfuck, shared hosting providers will set it up. This is why appealing to techies makes sense. They will be the ones setting it up in the initial "its not popular yet" phase, and if they don't use it, it will never get off the ground. Once they start setting it up for their friends/family/etc, a few companies start offering it as an option for their hosting. Then a few more, and it snowballs as the app gets more and more popular. Trying to start from "use PHP so end users will use it" doesn't work, because installing a PHP app is just as hard for them as installing anything else.
Keeping JVM engines going, and keeping a lot of compiled apps in RAM, on the offchance that someone makes a request, means fewer apps/sites can coexist on the same hardware. My $5/month PHP plan (hypothetical - I don't have one) - only compiles/executes the PHP when the request is made. If no one requests my site for 3 days, it's all just sitting there, not using any resources.
Until there's another technology that follows a similar model (or something else which provides good economies of scale for hosting providers), PHP will continue to dominate large segments of certain problem spaces.
Anyone that only has PHP likely also doesn't have their PHP/MySQL updated to the point that anyone should trust them.
apt-get/yum install ruby rubygems
gem install railsRails is a great platform for building a custom web app, but it's a terrible platform for building an open-source blogging platform. It simply moves too quickly and breaks things too often to be useful for the demographic that uses WordPress.
When you're talking about web code with such an astronomical deployment to developer ratio, the advantages of PHP are magnified by several orders of magnitude. Even the perfect WordPress replacement written in Rails with elegant, featureful and performant Ruby code digitized by God's own hand is by definition a niche product that can never hope to compete meaningfully with WordPress.
Buried in the text is it would be a fork of wordpress.
Net is filled with that sentiment, but it never takes off:
http://www.google.com/search?q=fork+wordpress&tbo=1&...
If you want to replace wordpress you need a modern rewrite, not a fork.
The #1 problem of wordpress (among many) is it loads every darn thing on every darn page and it's now a godzilla of a program so it's becoming a huge nightmare. A cache miss in WordPress on a busy server is a horrible, horrible thing.
You cannot escape that problem by a fork.