You are here
(I originally wrote this blog post as a guest article for Forbes. I'm cross-posting it to my blog.)
To "assemble" means to build. Assembling also means that we come together. Sometimes, both aspects are true. When that happens and we work together to build, we are better off for it.
The open source community is a perfect example of this. When Linux creator Linus Torvalds spoke about how it felt to get contributions from a worldwide network of people, he remarked "I had hoisted myself up on the shoulders of giants". I'm lucky enough to feel the same way.
The Internet has created a culture of sharing, letting people connect and collaborate on areas of common interest. When I started developing Drupal in 2000 from my university dormitory in Antwerp, I never imagined I'd build a network of people who were interested in building a content management system with me. Yet word of my project spread, and before I knew it, I was getting contributions to my project from around the world. Soon I also was standing on the shoulders of giants.
We didn't know it at the time, but this founding group of Drupalists was creating the basis for the assembled web. The assembled web is the next stage in the evolution of the web. While the coded web will always continue to exist, it will be a minority.
Think of the assembled web almost as an app store model for creating a digital experience. For example, if you want your website to allow social comments to flow in from Facebook or Twitter, you can simply add a module that someone has already coded. If you want to add analytics, maps, or almost anything you can imagine — there's probably a module for that.
While the modules are built on a foundation of code, they require no coding to install and build with ... to assemble. Instead, the vision of a great digital experience can be accomplished by someone with no coding experience, who can now simply "snap" the pieces of a new web experience together.
So, why is the assembled web rising to prominence so quickly, and what does that mean for developers?
- First, there are more websites now than ever before, and there's no sign of that growth slowing down. Ten years ago, a company had one website. Now, that same company might manage dozens or even hundreds of sites.
- Second, the complexity of websites has skyrocketed. Applications, integrations with third-party systems, social media integration, and the mobile web have all driven this complexity. New technologies emerge and replace the old. For example, Flash has almost been driven to extinction, replaced by HTML5, CSS3 and other more modern standards.
These two trends, set against the way many sites are built today, make it difficult to keep up with the changing standards, much less innovate and move the digital experience forward.
There is only one way to keep up: do more with less. I first imagined the assembled web in 2005, when the widespread use of content management systems began to replace the webmaster role as we knew it. Webmasters were no longer hired to write HTML by hand, or upload code to an FTP. In a way, the CMS eliminated the middleman.
Beyond our own evolution as developers, outside forces have also fundamentally altered the web. Ten years ago, the global phenomenon of Facebook didn't exist. Twitter didn't exist. The iPhone had yet to be released and create the mobile ecosystem that we know today. Think about the amount of change that's happened in such a short period. Now what will the world, and the web, look like another 10 years from today? No one knows.
The best thing to do is to adopt a platform that can change at the pace of the web. Developers will be tasked with building new functionality, and expanding the world of possibilities that modules can deliver. The innovation that developers will bring is crucial, and will power the assembled web by lowering barriers and democratizing the experience of site building.
The assembled web doesn't just have implications for the way developers create websites. It will have a widespread impact on any person or organization that needs to keep up with rapidly changing external forces. That's pretty much everyone. Think about how the assembly line changed manufacturing the first time. And how 3D printing is changing it again now. We can build faster and smarter than ever before. Similarly, the assembled web gives more people the tools to build the web as we know it.
Anyone without coding experience will be able to use an open source CMS to assemble a site by simply snapping modules together. A marketer could build a site for a new product launch without relying on the engineering team. An entrepreneur could launch a company site without hiring a webmaster. This phenomenon frees up time for developers to create new ways to connect citizens to their governments, nonprofits to donors, businesses to customers, friends and family to each other. Launching a disruptive business idea or reacting to today's rapid market changes could be accomplished without technical assistance. Going from vision to realization, for the first time, would be a single step. This advantage would finally bring the speed of digital site building in line with the speed of the web.
This evolution isn't a scary thing for developers; it's an opportunity. The web has forced a constant reinvention of everything. Careers. The way we compete for business. Being more efficient in the way we assemble a website will allow us to focus on the things that matter more, like innovation and creativity. By standing on the shoulders of giants, we can make things look and operate more beautifully than we'd ever have expected.
Over the past two years, we've built Drupal 8 into what will be the most flexible, future-proof Drupal version ever. Core developers have contributed thousands of hours of work to expanding Drupal 8's capabilities and modernizing our APIs.
We're several months into Drupal 8's API completion phase, and we're releasing monthly alphas as we nail down key APIs, refine the developer experience, and continue vital work on performance. To finish Drupal 8, we must focus on essentials, so I'd like to ask the Drupal developer community to look ahead to the next big step: the first Drupal 8 beta.
When does alpha become beta?
Earlier in the year, we announced that Drupal 8's first beta would be released once we had a stable data upgrade path from Drupal 7. At DrupalCon Prague, however, the Drupal core developer team made a bold decision: instead of using Drupal's
update.php database update script to convert Drupal 7 sites to Drupal 8 on the fly, Drupal 8 core will instead include a robust data migration API (based on the popular migrate module) to migrate data from existing sites into new Drupal 8 installations. This means that Drupal 8 core will provide reliable, extensible migration from Drupal 6 as well as Drupal 7. We believe this to be important for organizations running older versions of Drupal can reliably modernize their sites.
Data migration no longer blocks a beta release
In order to make this important data migration change possible for Drupal 8, the initial Drupal 8.0 release will be primarily intended for building new Drupal sites, and the finished data migration path for existing Drupal 6 or 7 sites may be provided in a later Drupal 8 release, like Drupal 8.1. (For more information on how we might improve the Drupal release cycle after the release of Drupal 8, see the proposal to manage the Drupal 8 release cycle.)
This means that a data upgrade path from Drupal 7 is no longer a prerequisite for releasing Drupal 8.0-beta1. Instead, we will focus on what testers and contributed module authors most need from a Drupal 8 beta: (1) a stable data model and (2) stable critical APIs.
Stable data model
A stable data model means that developers should not need to perform data migrations between beta releases of Drupal 8 (except where necessary to resolve critical issues). The Drupal 8 data model includes database schemas, file-based configuration storage, and storage services like the Entity and State systems.
Stable critical APIs
To provide contributed module developers with a useful milestone for module porting, beta 1 will include stable critical APIs. These are fundamental APIs that most or all contributed modules depend on, including the configuration system, the Entity and Field API, the Plugin API, and the Routing and Menu systems.
Other API changes approved by core maintainers will continue through the end of the API completion phase, but after the first beta, we will shift from away removing deprecated code and instead retain more backward compatibility layers. (Module/theme developers who wish to go through the porting process only once should wait for the first release candidate.)
What issues are blocking beta1?
Drupal core maintainers determine which specific issues must be resolved to meet the criteria above. We have worked with core developers to identify a list of beta-blocking issues. There are currently 48 of these "beta blockers" outstanding. As you can see, there are many difficult problems in this list that need to be solved. We need your help to resolve these issues so that we can release beta1 and expand Drupal 8's reach to new testers and contributors.
It's focus time!
While the end of Drupal 8's development cycle is in sight, there's still a lot of work to do. Now more than ever it's essential to focus on the critical issues that will bring Drupal 8 closer to release. If we don't, we risk pushing Drupal 8's release off for many more months. The sooner we create a beta, the sooner we can release Drupal 8 to the world.
Many people looking forward to Drupal 8's release aren't sure how best to help out. I'd like to ask all sub-system maintainers to watch their sub-system's issue queues closely to help new contributors triage issues and fix bugs, especially for beta-blocking issues. I'd also like to ask everyone to review patches carefully, make only necessary API changes, and document APIs clearly. Or, if you aren't able to work on Drupal 8 issues directly, consider sponsoring core developers for Drupal 8 contribution.
Help us make Drupal 8 the best release of Drupal yet by working on our alpha releases and toward a Drupal 8 beta!
For the International Day of People with Disabilities (IDPwD) today on December 3rd, I want to take some time to reflect on the Drupal community’s work to support universal access to information technology. Drupal is an inclusive community, both in how we interact with each other and in the results of our work.
We understand the need to create software that is accessible, both for consumption and production of content. Our accessibility statement opens by saying:
As an inclusive community, we are committed to making sure that Drupal is an accessible tool for building websites that can also be accessed by people with disabilities.
Donna Benjamin and Jesse Beach wrote a great overview of the accessibility improvements efforts in Drupal 8. It will meet higher standards of access than our previous releases. As developers and site builders, we continue to incorporate new techniques and access technologies into Drupal. Accessibility to the core.
As a community, we're proud and thankful for the efforts of all those who have contributed time and energy writing, reviewing and testing patches aimed at improving the accessibility of Drupal. There is much work still to do. If you are able, please join the accessibility effort to make sure our next version is our best yet. Thank you!
I'm turning 35 today. 35 is a weird age. It feels like a milestone birthday; like I'm turning the corner into adulthood for good. Turning 35, it seems, is not without complications. I feel like I became part of the old folk whose cool is threatened by youngsters. Anxious, as I've so much left to achieve and experience.
And yet, I am following my passions and there is not much more I'd want. People have asked me what I'd like for my birthday. I'd love it if you gave me one of the following two things:
People wonder what we do at Acquia's Office of the CTO (OCTO). In order to provide some more transparency, I wanted to share how we plan to give back between today and the end of the year.
Drupal 8 beta 1
Now that we're forgoing an upgrade path for a migration path, we need to redefine the release criteria for 'beta 1'. We also need to track the issues that block beta in order to help escalate the most critical of the critical issues. We will work with the Drupal 8 core maintainers to define and communicate these criteria, and help with timely patch reviews and issue management for beta-blocking issues.
Migrate module in core
As a co-author of the Migrate module, Moshe will be assisting the core development team on the goal to get Migrate module functionality into core and support a Drupal 6 to Drupal 8, as well as the Drupal 7 to Drupal 8 migration path.
Improve the Drupal 8 developer experience
We want developers to be productive and enjoy writing Drupal 8 modules, so we will be fleshing out the D8DX battleplan based on discussions at DrupalCon Prague, and working with others in the Drupal community to ensure that we fix the most important developer experience problems in preparation of Drupal 8's release.
Develop learning resources
We will be working on a central resource on Drupal.org for developers to find the information they need in order to port their modules to Drupal 8, including documentation, tools, and other resources.
Evaluate semantic versioning
There was a lot of talk at DrupalCon Prague about lessons learned in Drupal 7 and 8 and how to do better in the future. One such area of improvement is a release strategy that allows for iterative innovation in Drupal core every few months. We plan to work with other community leaders and the Drupal security team in order to come up with a strategy around this. A component of this strategy may be to adopt semantic versioning.
Improve Drupal 8 performance
We will also dedicate the OCTO team's time to help the Drupal core community identify and fix some major performance issues in Drupal core.
Authoring experience improvements
Major development efforts on the UX features the Spark team helped get into Drupal 8 core—WYSIWYG, in-place editing, mobile-friendly toolbar —are winding down. We still have work to do on fixing up some loose ends, and are committed to see this through. We will also backport the major Spark modules to Drupal 7.
Communicate Drupal 8 progress
We aim to continue the weekly D8 progress reports that you can find at This Week In Core, and are actively seeking other core developers to help get these important posts out.
A drop in an ocean
We're a handful of contributors in the OCTO and can only do so much. We will continue doing these things within a community of hundreds of other contributors and supporting their work in other ways. We're looking forward to much Drupal 8 progress in the next 3 months!
People ask me what it is like to be the head of a big Open Source project, and whether they should Open Source their project or not. I wanted to talk about that a bit more in this blog post so more people can pick up my answer.
Having been the project lead of the Drupal project for the past 13 years, I’ve watched my dorm-room activity transform into a community filled with passionate people all working toward the same goal: changing the world and making it a better place through open source.
Today Drupal powers more than 1.5 million sites. Drupal is a source of innovation for business and government. Most importantly, Drupal has helped individuals build a dream, giving smaller groups and organizations a bigger voice, as tools are democratized. But it has also allowed large businesses to develop new ideas, bring and build transformative experiences to the digital world.
The ambitious individuals who would lead the next generation of open source projects will experience moments of joy and excitement. It's exhilarating when your passion drives you to help create solutions to challenging problems. Your joy will be tempered with plenty of moments of frustration and doubt, as roadblocks may stand in your way during crucial points of development. But the successful leaders will be the ones who aren’t dissuaded from their work.
Creating a successful open source project requires much more work than writing good code. If your project is growing, then one day you'll start to see that you are a leader. You’re creating a vision, a culture, and inspiring people to come on board. This evangelism requires a lot of travel, conferences, fundraising, people management, project management and more. Make sure this passion is also within you.
I’ve had the opportunity to travel the world, evangelizing Drupal and have a leading role in a passionate, active community that is making a real difference. I’ve also founded a non-profit organization and a commercial company on that same promise.
As you start to build a community of participants who are willing to commit their time and passion to your project, you’ll soon realize that in life, the luckiest people in the world are those driven by the desire to be a part of something great. When you work in open source, you’ll be surrounded by people like these. Knowing you help make a difference and that hundreds of thousands of people depend on your project, helps you make sense of your commitment. So even on a bad day, it's still exciting.
The world would certainly benefit from having more Open Source, but its not a small undertaking as others come to depend on it. Only you can decide whether you have what it takes. When I started Drupal, I didn't really understand what I was getting myself into. It has been a lot of work, but knowing what I know today, I'd do it again. In a heartbeat.
Last week in Prague, I gave my traditional State of Drupal presentation. A total of 1,830 Drupalists were present at DrupalCon, a new record for our European DrupalCon!
In good tradition, you can download a copy of my slides (PDF, 31 MB) or you can watch a video recording of my keynote. The keynote starts at 11:42, but don't miss out on the singing carrots introduction. A video recording of the keynote is embedded in this post.