We -- the software engineers, computer scientists, programmers, developers and coders of the world -- declare that 1) we aspire to build great software, 2) we care about the software we develop and deliver to our users, and 3) we will help move the state of our art forward for all to benefit.
These could be the starting aspirations of a manifesto. In fact, there are several manifestos on the Internet that developers, architects and technologists are signing. The following is a summary of some of the manifestos related to our development world.
- Manifesto for Agile Development -- "We are uncovering better ways of developing software by doing it and helping others do it." The focus is on individuals, interactions, working software, customer collaboration, and responding to change. (http://agilemanifesto.org/)
- The ClueTrain Manifesto -- "A powerful global conversation has begun. Through the Internet, people are discovering and inventing new ways to share relevant knowledge with blinding speed. As a direct result, markets are getting smarter-and getting smarter faster than most companies." (http://www.cluetrain.com/)
- The SOA Manifesto -- "Service orientation is a paradigm that frames what you do. Service-oriented architecture (SOA) is a type of architecture that results from applying service orientation. We have been applying service orientation to help organizations consistently deliver sustainable business value, with increased agility and cost effectiveness, in line with changing business needs." The focus is on business value, strategic goals, intrinsic operability, shared services, flexibility and evolutionary refinement. (http://www.soa-manifesto.org/)
- The GNU Manifesto -- by Richard Stallman who wrote, "I consider that the golden rule requires that if I like a program I must share it with other people who like it. Software sellers want to divide the users and conquer them, making each user agree not to share with others. I refuse to break solidarity with other users in this way. I cannot in good conscience sign a nondisclosure agreement or a software license agreement." The focus is on building Unix compatible software system, providing guidance how other programmers can contribute and why all computer users will benefit. (http://www.gnu.org/gnu/manifesto.html)
- The Open Cloud Manifesto -- "The Open Cloud Manifesto establishes a core set of principles to ensure that organizations will have freedom of choice, flexibility, and openness as they take advantage of cloud computing. " The focus is on identifying open standards for cloud computing that will give everyone choice, flexibility, agility, and a large set of skills to leverage.(http://www.opencloudmanifesto.org/)
- The Mozilla Manifesto -- "we have distilled a set of principles that we believe are critical for the Internet to continue to benefit the public good as well as commercial aspects of life." Ten principles are listed in the manifesto. The top two principles listed in the manifesto state that the Internet is an integral part of modern life that must remain open and accessible to all. (http://www.mozilla.org/about/manifesto)
I've personally signed the Agile and SOA manifestos. I do think it is important to support efforts to improve and standardize the technologies and methodologies we use. Putting you name on the line is one of the most personal, professional and important things you can do to support our industry.
Are there other important manifestos that agree with and have signed? How many manifestos do we need? Are three enough? Are six too many?
Programming is Life!
Recent news for developers:
- Intel Parallel Universe Introduction
- Student applications open for the Google Summer of Code
- Why Crowdsourcing Isn't Always Wise
- Tech firms try to outperk one another
- What users want from Oracle's Java Community Process
- Traces of the Past: Computer Algorithm Able to 'Read' Memories
- SOA Grows Up -- and Out
- iPad means iPhone developers need to think different
- Software developers gladly hop on the cloud bandwagon
David Intersimone (David I) is the Vice President of Developer Relations and Chief Evangelist for Embarcadero Technologies. My company blog is at http://blogs.embarcadero.com/davidi. Note: This is a weblog of David Intersimone. The opinions expressed are those of David Intersimone and may not represent those of Computerworld.