BIO PRESENTATION

T25

September 30, 2004 10:15 AM

OPEN SOURCE DEVELOPMENT TOOLS: COPING WITH FEAR, UNCERTAINTY, AND DOUBT

Danny Faught Tejas Consulting

Better Software Conference & EXPO September 27-30, 2004 San Jose, CA USA

Danny R. Faught

Danny R. Faught is an avid fan of open source software. He is the publisher of “Open Testware Reviews”, an online source of information about free test tools. Danny is an independent software consultant and proprietor of Tejas Software Consulting.

Danny frequently writes about open source, software quality, and software testing. He is a columnist and Special Contributing Editor for StickyMinds.com. Danny publishes a free bimonthly newsletter called the Tejas Software Consulting Newsletter. Open Source Development Tools: Coping with Fear, Uncertainty, and Doubt

Danny R. Faught Tejas Software Consulting www.tejasconsulting.com

2004 Better Software Conference Topics

• Licensing • Pros and cons of Open Source • Tips on using Open Source tools • Types of tools • References

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 2 Licensing

“Don't install any open source until our lawyers tell us what to do!”

• Remember that most tools you use will only be used internally, so different licensing rules apply

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 3 Commercial licenses

• Big dogs • Underdogs • Shareware

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 4 Alternative licenses

• Open source – Public domain –Copyleft – Permissive •Freeware •Homebrew

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 5 Pros of Open Source

• Can get started learning, evaluating, and using a tool immediately • Source code available for bug fixing or adding new features • Improvements can be shared • Alternate sources of commercial support may be available •Free

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 6 Cons of Open Source

• Features may change frequently, new releases may not be compatible • Documentation may be incomplete or wrong • Commercial support may not be available • Might not have a strong user community to help with issues • Cost of internal support might exceed the cost of a commercial tool

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 7 Tips

• Learn what resources to expect on projects hosted on SourceForge (be aware that some projects use alternative resources, too) • See if there's a bug database, and if people are using it • Look for mailing lists and/or web forums

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 8 More Tips

• Contact the maintainer(s) directly if there isn't a good mailing list • Figure out where the documentation is hidden • Find CVS archives if available • Use Google to find additional information about the tool

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 9 Types of tools

• Operating systems, e.g.: , FreeBSD • Compilers, e.g.: GCC • Build tools, e.g.: make, gmake, ant. • Scripting languages, e.g.: Perl, Python, Ruby, tcl, awk, and Rexx • Editors, e.g.: vi, Emacs • Version control tools, e.g.: CVS, Arch, Aegis, Subversion • Bug tracking tools, e.g.: Bugzilla, Mantis

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 10 More types of tools

• Symbolic debuggers, e.g.: GDB • Run-time analysis tools, e.g.: Valgrind, mpatrol, dmalloc • Flight recorders/screen capture tools, e.g.: Captura, MWSnap, xwd • Static analysis tools, e.g.: Jlint, sclc, Dependency Walker, LinkChecker • Test harnesses, e.g. JUnit, QMtest, TET, TCM • Test coverage analyzers, e.g.: gcov, Javacoverage, ATAC • Test interface drivers, e.g.: jemmy, syscalltrack, HtmlUnit

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 11 Yet more tool types

• Keyword and data-driven test parsers, e.g.: SAFS • Test data generators, e.g.: ALLPAIRS, jenny, DGL • Load test tools, e.g.: OpenSTA, The Grinder, TestMaker • Performance tools, e.g.: ApacheBench, JUnitPerf, • Stress test tools, e.g.: stress_driver, crashme, torture, dbgrinder • Integrated development environments, e.g.: Eclipse

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 12 References

• “The Definition” - http://www.gnu.org/philosophy/free- sw.html • “OSI Approved Licenses” - http://opensource.org/licenses/ • “Various Licenses and Comments about Them” – a good taxonomy – http://www.gnu.org/licenses/license- list.html • “The Open Source Definition” - http://opensource.org/docs/definition.p hp

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 13 References

• Open Testware Reviews – includes surveys and reviews of scripting languages, test harnesses, test design tools, load test tools, etc. - http://tejasconsulting.com/open-testware/ • Roundtable on Homebrew Test Automation – http://www.stickyminds.com/s.asp?F=S7275_ROU ND_55 • Blog entries from Bret Pettichord - “Homebrew Test Automation and Extreme Programming” - http://www.io.com/~wazmo/blog/archives/2004_0 2.html#000064 and “Interest in Open-Source Test Tools Grows” - http://www.io.com/~wazmo/blog/archives/2004_0 3.html#000074

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 14 References

• “Let's Hear It for the Underdogs”, http://tejasconsulting.com/stqe/underdogs.pdf • Additional information on http://tejasconsulting.com/ and http://tejasconsulting.com/ancient- writings.html, including “What Flavor is Your Freeware?”, several articles on free test tools, and reviews of The Cathedral & the Bazaar and Open Sources.

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 15 Thanks for listening!

Danny Faught, Software Alchemist Tejas Software Consulting

817-294-3998 [email protected] www.tejasconsulting.com

© 2004 Tejas Software Consulting 2004 Better Software Conference Slide 16