From Fedora Project Wiki
No edit summary
(Blanked the page)
 
Line 1: Line 1:
Interview with Dan Williams, upstream project maintainer for NetworkManager, April 2010.


* How would you characterize your involvement with Fedora and FOSS Communities?
I've been working for Red Hat since 2003, originally on OpenOffice.org, but since 2005 as the upstream project maintainer for NetworkManager, ModemManager, and a few other things.  I was also heavily involved in OLPC from 2005 - 2007, helping plan and implement core features of Sugar and OLPC wireless.<br>
I act as an advocate for users by attending the various kernel wifi summits and being involved on Linux wireless mailing lists (hostap/wpa_supplicant, linux-wireless, etc).  Through this capacity we've been able to move Linux wireless forward quite a bit versus 2004/2005.<br>
<br>
* From your scope of view, what are the barriers that potential developers face when they try to join FOSS Projects?
Probably #1 is lack of upstream guidance; when a potential developer shows up, often upstream developers don't have a ton of time to help nurture that developer through some of the initial stages, because they have so much to do.  It's a very fine line; you can spend 75% of your time helping new potential developers and then you don't hit your feature targets because you didn't spend enough time coding.<br>
What helps that is documentation; if you put beginning documentation up somewhere then you can direct new developers to that instead of repeating over and over each time one shows up.  Or, if there are other community members that can handle this duty while you concentrate on the tougher questions.<br>
Filling that role (called "developer relations" in larger companies) is a great job for somebody who can't commit tons of time to the project, but who is still willing to periodically build the source (even if they don't fix core bugs) and answer emails.<br>
<br>
* What would be your personal advice for potential developers who would willing to help with NetworkManager?
Keep asking questions; no question is too stupid or embarrassing to ask. Then, when you understand the solution to your question, tell us how to improve the documentation so other people benefit too.  Since we've been involved in the project for a long time, we don't always know what the initial roadblocks are to building the source, understanding the
architecture, etc.<br>
<br>
* In what fields would new developers get competencies (skill improvement) when developing for NetworkManager?
How to use D-Bus, GObject, and PolicyKit, how the whole networking system interacts, how 3G modems are driven, netlink APIs, parsing system network configuration files, etc.  It really depends on what part of the NM you're looking at since there are lots of things going on.<br>
<br>
* What would be your advice to normal users to contribute actively for FOSS in bug reporting? Could you profile the importance of such contributions?
Learn how to provide good bug reports.  I've tried to put up a page here describing what should be added to a good bug report for NetworkManager: http://live.gnome.org/NetworkManager/Debugging<br>
The #1 and #2 items missing from many bug reports is what package version of NM you've experienced the bug with, and what hardware you'reusing.  As the Fedora project, we should work harder to automate the collection of this information like Ubuntu has done with Launchpad. This stuff should really be automatic, but for now we'll need users to
do it for us.<br>
<br>
* Could your tell us some of the major achievements achieved in the last 6 months on NetworkManager development?
We rolled out NetworkManager 0.8; I've written a blog post on it here:<br>
<br>
http://blogs.gnome.org/dcbw/2010/04/07/networkmanager-0-8-the-taste-of-a-new-generation/<br>
<br>
Note that Fedora 13 is shipping stabilized snapshots of NM 0.8.1 that include quite a bit more functionality than is listed in that post, like DHCPv6, Bluetooth DUN, and Mobile Broadband status.<br>
<br>
* What distribution/tools do you use for development of NetworkManager?
I develop mainly on Fedora, though occasionally I do a build on Ubuntu when I need to dig into a problem there and the Ubuntu team hasn't been able to debug it further.<br>
I use gnome-terminal with multiple tabs for workflow (usually have NetowrkManager's directory open in one tab, ModemManager's in another, and network-manager-applet's in a third), and GEdit for actual coding. No, I don't use emacs or vi, mainly because I started coding on Mac OS long ago and all the tools there are GUI development environments. GEdit does 95% of what most people really need from an editor, and I've never been a fan modal editors like emacs/vi probably because I used omething else first.<br>
<br>
* In your personal opinion how you define the 4 Foundations of Fedora (Freedom, Friends, Features, First).
Honestly, I didn't look at the Fedora web pages before I started writing these up.  I think these 4 foundations are pretty self-explanatory for anyone that's been involved in free software for a while.<br>
'''Freedom''': it's about Free Software; we don't make compromises.  If it's not free, or it's patent encumbered, we don't ship it.  You're completely free to redistribute, remix, and modify anything we ship.<br>
'''Friends''': both working on Fedora and using Fedora should be fun; we shouldn't discriminate or make users feel unwelcome.  Our discussions should be civilized, avoid personal attacks, and simply get to the bottom of the issue.  Obviously there will be disagreements, but these need to be settled nicely.<br>
'''Features''': we build new features through the community.  We don't develop them behind closed doors, almost all of what we do is out there in git repositories and on wiki pages.  We have lots of different users, and we try to add new features that help all these users out, not just one particular group.<br>
'''First''': we're cutting-edge; we drive new features into Fedora before most other distros get them, but we also try to ensure those features are stable enough for our users.  This is hard to get right, but we seem to be doing it pretty well so far...

Latest revision as of 13:44, 16 April 2010