User guide

1.4. Development and maintenance of
Wireshark
Wireshark was initially developed by Gerald Combs. Ongoing development and maintenance of
Wireshark is handled by the Wireshark team, a loose group of individuals who fix bugs and provide
new functionality.
There have also been a large number of people who have contributed protocol dissectors to Wire-
shark, and it is expected that this will continue. You can find a list of the people who have contrib-
uted code to Wireshark by checking the about dialog box of Wireshark, or have a look at the http://
anonsvn.wireshark.org/wireshark/trunk/AUTHORS page on the Wireshark web site.
The communication between the developers is usually done through the developer mailing list,
which can be joined by anyone interested in the development process. At the time this document
was written, more than 500 persons were subscribed to this mailing list!
It is strongly recommended to join the developer mailing list, if you are going to do any Wireshark
development. See Section 1.7.5, “Mailing Lists” about the different Wireshark mailing lists avail-
able.
1.4.1. Programming language(s) used
Almost any part of Wireshark is implemented in plain ANSI C.
The typical task for a new Wireshark developer is to extend an existing, or write a new dissector for
a specific network protocol. As (almost) any dissector is written in plain old ANSI C, a good know-
ledge about ANSI C will be sufficient for Wireshark development in almost any case.
So unless you are going to change the development process of Wireshark itself, you won't come in
touch with any other programming language than ANSI C (such as perl or python, which are used
only in the Wireshark build process).
Beside the usual tools for developing a program in C (compiler, make, ...), the build process uses
some additional helper tools (Perl, Python, Sed, ...), which are needed for the build process when
Wireshark is to be installed from the released source packages. If Wireshark is installed from a bin-
ary package, none of these helper tools are needed on the target system.
1.4.2. Open Source Software
Wireshark is an open source software project, and is released under the GNU General Public Li-
cence (GPL). You can freely use Wireshark on any number of computers you like, without worrying
about license keys or fees or such. In addition, all source code is freely available under the GPL. Be-
cause of that, it is very easy for people to add new protocols to Wireshark, either as plugins, or built
into the source, and they often do!
You are welcome to modify Wireshark to suit your own needs, and it would be appreciated if you
contribute your improvements back to the Wireshark team.
You gain three benefits by contributing your improvements back to the community:
Other people who find your contributions useful will appreciate them, and you will know that
you have helped people in the same way that the developers of Wireshark have helped people.
The developers of Wireshark might improve your changes even more, as there's always room for
improvements. Or they may implement some advanced things on top of your code, which can be
useful for yourself too.
The maintainers and developers of Wireshark will maintain your code as well, fixing it when
API changes or other changes are made, and generally keeping it in tune with what is happening
Introduction
6