What Open Source Can Teach Us About Software
Ruven Brooks, Ruven Brooks
Open source projects
produce some of the highest quality software; products such as the Linux
operating system, the Apache web server, and the Eclipse integrated development
environment are known for their rich and powerful features, their low level of
defects, and their good design. The software processes which produce these
products, though, are in frequent contradiction to recommended practices in
commercial software development. For example, commercial practice holds
that developers are not capable of determining requirements and, therefore,
requirements specialists or product owners are needed; in most open source
projects, the requirements are determined entirely by the developers. In
commercial software development, it’s considered a best practice to have
test teams separate from the developers; in open source projects, developers do
nearly all of the testing. The full list of differences is quite long.
In this talk, I will
attempt to explain why open source projects succeed despite not following
recommended or standard practices, and I will suggest how some commercial
development projects may be able to take advantage of the open source approach.
About the Speaker:
Ruven Brooks is two years short of
fifty years of experience in software development. He has engaged in a wide
range of activities, He has worked in a number of roles ranging from computer
science researcher to development lead and product architect to onsite customer
support of commercial software and software process developer. He has worked in
the telecommunications industry, health care, the petroleum industry, and the
industrial automation industry. A nail hole on his wall is covered by his Ph.D.
diploma in cognitive psychology from Carnegie-Mellon University.