It's good to be the best.
In 2012, Web2py was named "Technology of the Year" by InfoWorld which, as the leading source of information on emerging enterprise technologies, picks each year's best hardware, software, development tools, and cloud services. An open-source framework for Web-based applications, Web2py was built by Massimo Di Pierro, an associate professor in the College of Computing and Digital Media.
According to the judges, Web2py “installs everything you need—even a Python interpreter—for building a Python-based Web application. [Python is a general purpose programming language]. Its creator's mission to build an easy-to-use framework extends throughout … With all its built-in assistance, Web2py is as painless as it gets.”
The year before, Web2py won InfoWorld’s Bossie Award for “best open source application development software.” The judges then were just as enthusiastic:
“Web2py is an intelligently designed, well-crafted framework that boasts a small footprint, an uncluttered API [application programming interface], excellent documentation, and a soup-to-nuts Web-based administration tool that also serves as a complete integrated development environment. Installation is easy, wizards help speed the creation of new applications, and complexity is abstracted away. Web2py is a powerfully capable framework with plenty of pleasant surprises under the hood—a standout among the pillars of Python.”
The story of Web2py began in the classroom.
“A few years ago, I was asked to teach a course on building applications that would run on the Internet,” Di Pierro recalls. “Since showing is better than telling, I built the software to demonstrate the ‘ins and outs’ of the process to students. As students graduated and went out into the world, they took Web2py with them. Because it's an open-source application, the software began to attract a community of developers.”
Over time, hundreds of people have contributed to Web2py, and Di Pierro is quick to credit collaborators. “Web2py is available for free for everyone to use, modify, and enhance,” he says. “People can—and do—improve the application all the time, making it better without them having to worry about intellectual property rights.”
To maintain the product’s integrity, Di Pierro trademarked the name.
“Web2py is distributed under the open source LGPL license, which allows others to modify it, build upon it, and even sell derivative products under certain conditions,” he says. “I review and approve all changes to the ‘official’ version. For me, keeping the product up-to-date is like running a company, except no one gets paid.”
Each month, more than 1,800 messages are posted on the collaborative Web2py site. Since developing the software in 2007, Di Pierro has posted 20,154 messages, most of them to answer questions. Web2py counts more than 6000 registered users (both people and companies) and an unknown number of unregistered users.
Here are just a few examples of how the framework has been used commercially:
- Websites with applications and databases which can be accessed remotely. For example, a dynamic real estate website can include tours of properties.
- Industrial robots that can be communicated with and controlled remotely.
- Alarm systems that can be turned on or off remotely.
CrowdGrader, a new online “crowdsourcing” tool which allows students to grade their classmates’ homework and receive credit for the effort they put in.
Cisco's new penetration testing tool which determines whether a network is vulnerable to attacks.
- Disaster response and management systems. For example, Sahana Eden is a humanitarian platform that had been used to coordinate efforts during earthquakes in Haiti and Japan; flooding in Colombia, Venezuela, and Pakistan; wildfires in Chile; and food distribution by the United Nations.
In the preface to the “Complete Reference Manual” for Web2py, Di Pierro puts the product in a Vincentian context: “I believe that the ability to easily build high quality web applications is of critical importance for the growth of a free and open society. This prevents the biggest players from monopolizing the flow of information.”
Regularly updated by Di Pierro, the manual is in its fifth edition. An online version is free and available at http://web2py.com/book. Readers can edit the manual online, and then submit their changes to Di Pierro for possible inclusion in a future edition.