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 Wireshark, and it is expected that this will
continue. You can find a list of the people who have contributed
code to Wireshark by checking the about dialog box of Wireshark, or have
a look at the https://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 available.
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 knowledge 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 binary 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 License (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. Because 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
with Wireshark. So if Wireshark is updated (which is done often),
you can get a new Wireshark version from the website and your changes
will already be included without any effort for you.
The Wireshark source code and binary kits for some platforms are all
available on the download page of the Wireshark website:
https://www.wireshark.org/download/.