From Fedora Project Wiki

m (Fixed typos.)
(34 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{header|marketing}}
The [http://projects.gnome.org/NetworkManager/ NetworkManager] Project was initiated in 2004 by [http://www.redhat.com Red Hat] to provide Linux users with a pleasant networking configuration experience.  The current NetworkManager Project upstream maintainer is [http://fedoraproject.org/wiki/DanWilliams Dan Williams].


= NetworkManager - 0.8 =
== NetworkManager 0.8 ==
 
The '''[http://projects.gnome.org/NetworkManager/ NetworkManager]''' Project was initiated in 2004 by '''[http://www.redhat.com Red Hat]''' aiming to provide Linux users with a pleasant networking configuration experience.


NetworkManager is divided into 2 different components:
NetworkManager is divided into 2 different components:
* a service that manages and reports network changes;
* A service that manages and reports network changes
* a graphical desktop applet that allow users to manipulate network connections.
* A graphical desktop applet that allow users to manipulate network connections


The graphical applet is available for '''[http://www.gnome.org GNOME]''', '''[http://www.kde.org KDE]''' and '''[http://www.xfce.org Xfce]''' and follows the '''[http://standards.freedesktop.org/systemtray-spec/systemtray-spec-0.2.html Systray Protocol]''' from '''[http://www.opendesktop.org OpenDesktop]'''.
The graphical applet is available for [http://www.gnome.org GNOME], [http://www.kde.org KDE] and [http://www.xfce.org Xfce] and follows the [http://standards.freedesktop.org/systemtray-spec/systemtray-spec-0.2.html Systray Protocol] from [http://www.opendesktop.org OpenDesktop].


The current NetworkManager Project upstream maintainer is [http://fedoraproject.org/wiki/DanWilliams Dan Williams] (2005-2010).
<!-- [[Image:nm-applet1.png|frame|right|300px|Fedora 13; GNOME 2.30.0; nm-applet credits]] --><!-- The credits picture really doesn't tell readers anything the story doesn't. Might as well leave it out. -->
 
For most users, NetworkManager is closely associated with '''nm-applet''' and [http://en.opensuse.org/KNetworkManager KNetworkManager], the latter started by Novell in 2008 as part of the K Desktop Environment. The applets provide a user-friendly interface for configuring networking in Linux.
[[Image:nm-applet1.png|frame|center|Fedora 13; GNOME 2.30.0; nm-applet credits]]
 
For most users NetworkManager is mainly associated with '''nm-applet''' and '''[http://en.opensuse.org/KNetworkManager KNetworkManager]'''; being the last started by Novell in 2008 and is a part of the K Desktop Environment. The applets provide a user-friendly interface for configuring networking in Linux.


[[Image:nm-applet.png|frame|border|right|300px|NetworkManager applet network information in Fedora 13 and GNOME 2.30.]]
Currently NetworkManager supports the following:
Currently NetworkManager supports the following:
* Wired Ethernet Devices
* Wired Ethernet devices
* Wireless Ethernet Devices
* Wireless Ethernet devices
** Unencrypted
** Unencrypted
** WEP
** WEP
Line 27: Line 23:
* Dial-up (PPP) and xDSL (PPPoE)
* Dial-up (PPP) and xDSL (PPPoE)


== NetworkManager in Fedora 13 ==
=== NetworkManager in Fedora 13 ===


Dan Williams, the maintainer of NetworkManager, has provided the community with a very elucidative post about NetworkManager 0.8, which he labels "the taste of a new generation". The original publication can be consulted '''[http://blogs.gnome.org/dcbw/2010/04/07/networkmanager-0-8-the-taste-of-a-new-generation/ here]'''.
Dan Williams, the maintainer of NetworkManager, has provided the community with an illuminating post about NetworkManager 0.8, found [http://blogs.gnome.org/dcbw/2010/04/07/networkmanager-0-8-the-taste-of-a-new-generation/ here]. In addition to the information provided by Dan on his awesome post, we would like to highlight the new NetworkManager release 0.8.1, which ships in Fedora 13 "Goddard" and includes new features such as:
 
In addition to the information provided by Dan on his awesome post, we would like to highlight the new NetworkManager release 0.8.1, which ships in Fedora 13 "Goddard" and includes new features such as:


* DHCPv6
* DHCPv6
* Bluetooth DUN
* Bluetooth DUN
* Mobile Broadband Status
* Mobile broadband status
 
In Fedora 13 "Goddard", NetworkManager is installed by default, including the applets for the Desktop Environment installed (GNOME, KDE, Xfce).


== NetworkManager - GNOME ==
In Fedora 13 "Goddard", as in previous editions of Fedora, NetworkManager is installed by default, including the applets for the installed desktop environment (GNOME, KDE, Xfce).


Fedora 13 users with GNOME installed will have nm-applet available on '''[http://live.gnome.org/GnomePanel gnome-panel]'''. By default it will search available networks and can be easily configured, providing the Fedora 13 user an easy and fast way to configure networking on the fly; either by creating new connections or by editing existing connections. In addition it also provides information on other aspects, like the last time connections were used, signal strength, etc.
=== NetworkManager - GNOME ===


[[Image:nm-applet.png|frame|border|center|Fedora 13; GNOME 2.30.0; nm-applet network information.]]
[[Image:Knetworkmanager-fc13.png|frame|border|right|300px|Fedora 13; KDE 4.4.2; KNetworkManager network information.]]
Fedora 13 users with GNOME installed, such as in the default Fedora 13 Desktop Live edition, have the NetworkManager applet available in [http://live.gnome.org/GnomePanel the panel]. It searches available networks by default and provides easy and fast access to configuration options, such as creating new connections or by editing existing connections. It also provides information on details such as a connection's signal strength and the last time it was used.


== NetworkManager - KDE ==
=== NetworkManager - KDE ===


Just like its GNOME counterpart, KDE provides an applet interface for NetworkManager, known as '''KNetworkManager'''. This application development was started by [http://www.novell.com Novell] and provides an integrated QT-based experience with similar usage and configuration as its GNOME counterpart, nm-applet.
Just like its GNOME counterpart, KDE provides an applet interface for NetworkManager, known as '''KNetworkManager'''. This application development was started by [http://www.novell.com Novell] and provides an integrated Qt-based experience with similar usage and configuration as its GNOME counterpart, nm-applet.


== Network Configuration - Example (nm-applet) ==
== Interview with Dan Williams ==
{{Quote|On behalf of Fedora Marketing team, as part of our series of feature profiles for Fedora 13, I had the privilege of interviewing Dan Williams, upstream maintainer for NetworkManager since 2005 and Red Hat Inc. employee. Dan has contributed heavily to the Fedora Project wiki with plentiful information about NetworkManager, which is the main reason why the interview was focused more on the developing environment and community than purely on NetworkManager features.  I would like to thank Dan for his time for making time for this interview via email.|[[User:NMarques|Nelson Marques]], Fedora Marketing team}}


'''GNOME users''' will find a small '''icon''' on '''gnome-panel''' (nw-applet), placing the cursor over it will allow the user to perform two tasks:
=== Interview ===
* '''right click''' > opens a dialog box which allows to enable networking for several devices and edit configuration (amongst others);
* '''left click''' > opens a networking status box that allows the user to connect to a configured network, create new networks and manage VPN connections.
Lets imagine that I would like to configure a new Wireless Connection  to a network that requires user authentication through Dynamic WEP/PEAP/MSCHAP V2.
Most wireless networks will be detected by NetworkManager (establishing that your hardware is supported and is enabled). To accomplish this, one of the possible methods would be:
* '''Right Click nm-applet''' and seclect '''Edit Connections'''. The following box should appear on your screen:
[[Image:nm-applet2.png|frame|border|center|nm-applet "Network Connections" screen; GNOME 2.30.0.]]
* From here, select the '''Wireless''' tab, and the available wireless networks will be displayed. At this point select the network you want to edit and press '''Edit'''.
* A new box will be displayed for the network connection that was selected in the previous point that should look like this:
[[Image:nm-applet4.png|frame|border|center|nm-applet "Editing 'Connection Name'" screen; GNOME 2.30.0.]]
* From this box the user can do the following:
** '''Wireless''' tab: change SSID, Mode, Mac Address, BSSID and MTU. In most cases there is no need to change anything here. Remember to check '''Connect automatically''' for such feature.
** '''Wireless Security''' tab: For this example, as explained before the user should select the following:
*** '''Security''': Dynamic WEP (802.1x);
*** '''Authentification''': Protected EAP (PEAP);
*** '''Anynimous Identity''': We aren't going to use this one for our example;
*** '''CA Certificate''': Leave blank (for this example);
*** '''PEAP Version''': Select Automatic;
*** '''Inner Authentification''': Select MSCHAPv2;
*** '''Username''': Enter your username;
*** '''Password''': Enter your password;
*** Look for the rest of the checkboxes and check them if applicable.
** '''IPv4 Settings''': Usually DHCP will do the trick, including on this example.
** Press '''Apply'''.


At this stage NetworkManager will take a couple of seconds to log you into your network. '''Rock it'''.
; How would you characterize your involvement with Fedora and FOSS Communities?
: '''Dan Williams''': 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.
: 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.


Please be mindful that this is just an example of what could be a network. Wireless networks can use other methods for authentication, make sure you contact your system administrator or provider in order to get the proper credentials.
; 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.
: 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.
: 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.


Also be mindful that I used GNOME's nm-applet for this example. Users with KDE have KNetworkManager instead of nm-applet which is very similiar and works in the same way.
; 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.


Users having problems can seek help provided by Fedora Community volunteers on '''[http://www.freenode.net Freenode]''' IRC Network on general channel: #Fedora. Be mindful that support on this IRC Channel is available only for some versions, usually the latest shipping version. An IRC chatting application is usually required for this. Some available are:
; In what fields would new developers get competencies (skill improvement) when developing for NetworkManager?
* '''[http://www.xchat.org X-Chat]''' - Distributed with Fedora (can be installed with: '''yum install chat''').
: 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.
* '''[http://konversation.kde.org Konversation]''' - Popular with KDE users and installed by default with KDE.


= Message to our Users =
; What would be your advice to normal users to contribute actively for FOSS in bug reporting? Could you profile the importance of such contributions?
The Fedora Project is oriented to strive for leadership and not to follow. As many other community projects in the FOSS universe, it's success depends on it's growing number of contributors. Many people choose not to get involved, and we still thank them for placing their trust in Fedora Linux distribution. Much of the success of Fedora comes from the important bug reports that are submitted by our users, in this line of field, we would like to highlight this: Fedora hopes that all our users enjoy as much Fedora Linux as our contributors enjoy working for it to happen every 6 months, providing leading technology and a free open source operating system.
: 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.
: 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're using.  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.


Keep feeding us with bug reports as our twisted monkeys will continue processing them!
; 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: [http://blogs.gnome.org/dcbw/2010/04/07/networkmanager-0-8-the-taste-of-a-new-generation/ The Taste of a New Generation].
: 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.


On behalf of: Fedora Marketing Team and Fedora Community.
; 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.
: I use ''gnome-terminal'' with multiple tabs for workflow (usually have NetworkManager'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 of modal editors like Emacs/vi probably because I used something else first.


= Interview with Dan Williams =
=== Fedora's Foundations, a personal viewpoint ===
On behalf of Fedora Marketing Team and in scope of the Feature Profiles for NetworkManager I had the privilege of interviewing Dan Williams, upstream maintainer for NetworkManager since 2005 and Red Hat Inc. employee. Dan had done a great work by inserting on the Fedora Project wiki countless information about NetworkManager, that's the main reason why the interview was focused more on the Developing Enviroment and Community than on NetworkManager features itself.
This interview was short and accomplished by email, which was promptly answer by Dan. I would like to thank him for his time for allowing this to happen.


The interview will be posted un-edited and in full.
[[File:4Foundations.png|frame|border|right|300px|The Fedora Project's four [[Foundations]]]]


== Interview ==
I finished the interview with Dan by asking him for his personal interpretation of the Fedora Project's four [[Foundations]] (Freedom, Friends, Features and First):
'''#1 - How would you characterize your involvement with Fedora and FOSS Communities?'''<br>
'''Dan Williams''': 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.
 
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.
 
 
'''#2 - From your scope of view, what are the barriers that potential developers face when they try to join FOSS Projects?'''<br>
'''DW''': 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.
 
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.
 
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.
 
 
'''#3 - What would be your personal advice for potential developers who would willing to help with NetworkManager?'''<br>
'''DW''': 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.
 
 
'''#4 - In what fields would new developers get competencies (skill improvement) when developing for NetworkManager?'''<br>
'''DW''': 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.
 
 
'''#5 - What would be your advice to normal users to contribute actively for FOSS in bug reporting? Could you profile the importance of such contributions?'''<br>
'''DW''': 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.
 
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're using.  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.
 
 
'''#6 - Could your tell us some of the major achievements achieved in the last 6 months on NetworkManager development?'''<br>
'''DW''': We rolled out NetworkManager 0.8; I've written a blog post on it here: [http://blogs.gnome.org/dcbw/2010/04/07/networkmanager-0-8-the-taste-of-a-new-generation/ The Taste of a New Generation].
 
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.
 
 
'''#7 - What distribution/tools do you use for development of NetworkManager?'''<br>
'''DW''': 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.
 
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 something else first.
 
== The Fedora Foundations by Dan Williams ==
As a part of the interview with Dan, I've finalized asking him his personal interpretation of the Fedora Project Foundations (Freedom, Friends, Features and First).


*'''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.
*'''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.
*'''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.
*'''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.
*'''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.
*'''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.


*'''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.
=== Biography ===


*'''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.
[[File:Interviews_DanWilliams_Picture1.jpg|frame|border|right|Dan Williams]]


Dan Williams is a Senior Software Engineer in the Red Hat Desktop Team. He joined Red Hat Inc. in 2003 to work on the OpenOffice Suite, due to his involvement on the Mac OS X port of OpenOffice.
In 2004 he was asked by Havoc to "look at making networking not suck (because it really, really did" (Williams, 2010). This led Dan to start working on NetworkManager from whom he is the upstream maintainer since 2005.


[[File:4Foundations.png|frame|border|center|Fedora Project Foundations]]
Dan Williams was also part of the original Red Hat team working on the OLPC (One Laptop Per Child).


== Quote of the day ==
== An example of NetworkManager configuration ==
* "It's been a great ride over the last 7 years." - Dan Williams, 14th April 2010.


In the GNOME desktop environment, the NetworkManager notification applet allows the user to perform two tasks:
* A ''right click'' opens a dialog box to enable networking for several devices and edit configuration and other options.
* A ''left click'' opens a networking status box to connect to a configured network, create new networks and manage VPN connections.


== Biography ==
This example shows how to configure a new wireless connection to a network that requires user authentication through Dynamic WEP/PEAP/MSCHAP V2.  Most wireless networks will be detected by NetworkManager (establishing that your hardware is supported and is enabled).  To configure, follow these steps:
[[File:Interviews_DanWilliams_Picture1.jpg|frame|border|right|Dan Williams]]
* Right click the NetworkManager applet and select ''Edit Connections''. The following box should appear on your screen:
[[Image:nm-applet2.png|frame|border|center|nm-applet "Network Connections" screen; GNOME 2.30.0.]]
* Select the ''Wireless'' tab, and the available wireless networks are displayed. At this point select the network you want to edit and then select ''Edit''.
* A new dialog is displayed for the network connection that looks like this:
[[Image:nm-applet4.png|frame|border|center|nm-applet "Editing 'Connection Name'" screen; GNOME 2.30.0.]]
* There are several tabs available for configuration choices:
** ''Wireless'' tab: change SSID, Mode, Mac Address, BSSID and MTU. In most cases there is no need to change anything here. Remember to check ''Connect automatically'' for such feature.
** ''Wireless Security'' tab: For this example, the user selects the following:
*** ''Security'': Dynamic WEP (802.1x)
*** ''Authentication'': Protected EAP (PEAP)
*** ''Anonymous Identity'': Not used for this example
*** ''CA Certificate'': Not used for this example
*** ''PEAP Version'': Select ''Automatic''
*** ''Inner Authentication'': Select MSCHAPv2
*** ''Username'': Enter the authentication user name for the network
*** ''Password'': Enter your authentication password for the network
*** Select other check boxes if applicable
** ''IPv4 Settings'': The DHCP option is usually correct, as in this example.
** Select ''Apply''.


Dan Williams is a Senior Software Engineer in the Red Hat Desktop Team. He joined Red Hat Inc. in 2003 to work on the OpenOffice Suit, due to his involvement on the Mac OS X port of OpenOffice.
At this stage NetworkManager logs you into your network, in just a few seconds.  This is just one example of many network configurations that NetworkManager supports. Wireless networks can use other methods for authentication. Contact your system administrator or provider in order to get the proper credentials.  This example used GNOME's nm-applet.  Instead of nm-applet, users with KDE have KNetworkManager, which operates similarly.
In 2004 he was asked by Havoc to "look at making networking not suck (because it really, really did" (Williams, 2010). This led Dan to start working on NetworkManager from whom he is the upstream maintainer since 2005.


Dan Williams was also part of the original Red Hat team working on the OLPC (One Laptop Per Child) along with:
Users having problems can seek help provided by Fedora Community volunteers on [http://www.freenode.net Freenode] IRC Network on general channel: #Fedora. Be mindful that support on this IRC Channel is available only for some versions, usually the latest shipping version. An IRC chatting application is usually required for this. Some available are:
* John Palmieri;
* [http://www.xchat.org X-Chat] - Distributed with Fedora (can be installed with: '''yum install xchat''').
* Marco Pessenti-Gritti;
* [http://konversation.kde.org Konversation] - Popular with KDE users and installed by default with KDE.
* Chris Blizzard;
For more information visit our page on [[Communicating and getting help]].
* David Woodhouse;
* Marcelo Tosati;
* Seth Nickell;
* Brian Clark;
* et all.


"It's been a great ride over the last 7 years" - Dan Williams, 2010.
== Message to our Users ==


= Network Manager Screenshots =
{{Quote|The Fedora Project strives to lead the advancement of free and open source software (FOSS). Like many other community projects in the FOSS universe, its success depends on its growing number of contributors. We thank not only our contributors but also our end users for placing their trust in Fedora Linux distribution. Fedora continues to improve thanks to the important bug reports that are submitted by you and other Fedora users.  We hope that you enjoy Fedora as much as our contributors enjoy working on the releases we issue every 6 months, providing leading technology and a free and open source operating system.|On behalf of the [[Marketing|Fedora Marketing Team]] and Fedora community}}


[[File:Knetworkmanager-f13.png|frame|border|KNetworkManager - Fedora 13]]
== Links of Interest ==


= Links of Interest =
* [http://projects.gnome.org/NetworkManager/ NetworkManager - Homepage]
* '''[http://projects.gnome.org/NetworkManager/ NetworkManager - Homepage]'''
* [http://fedoraproject.org/wiki/Tools/NetworkManager NetworkManager - Fedora Wiki]
* '''[http://fedoraproject.org/wiki/Tools/NetworkManager NetworkManager - Fedora Wiki]'''
* [http://blogs.gnome.org/dcbw/2010/04/07/networkmanager-0-8-the-taste-of-a-new-generation NetworkManager 0.8 - Dan Williams]
* '''[http://blogs.gnome.org/dcbw/2010/04/07/networkmanager-0-8-the-taste-of-a-new-generation NetworkManager 0.8 - Dan Williams]'''
* [http://en.opensuse.org/KNetworkManager KNetworkManager]
* '''[http://en.opensuse.org/KNetworkManager KNetworkManager]'''
* [http://live.gnome.org/NetworkManager/Debugging Howto provide good Bug Reports - Dan Williams]
* '''[http://live.gnome.org/NetworkManager/Debugging Howto provide good Bug Reports - Dan Williams]'''




[[Category:Marketing]] [[Category:Feature Profiles]] [[Category:F13]]
[[Category:Marketing]]
[[Category:Feature profiles]]
[[Category:F13]]

Revision as of 21:49, 25 May 2010

The NetworkManager Project was initiated in 2004 by Red Hat to provide Linux users with a pleasant networking configuration experience. The current NetworkManager Project upstream maintainer is Dan Williams.

NetworkManager 0.8

NetworkManager is divided into 2 different components:

  • A service that manages and reports network changes
  • A graphical desktop applet that allow users to manipulate network connections

The graphical applet is available for GNOME, KDE and Xfce and follows the Systray Protocol from OpenDesktop.

For most users, NetworkManager is closely associated with nm-applet and KNetworkManager, the latter started by Novell in 2008 as part of the K Desktop Environment. The applets provide a user-friendly interface for configuring networking in Linux.

NetworkManager applet network information in Fedora 13 and GNOME 2.30.

Currently NetworkManager supports the following:

  • Wired Ethernet devices
  • Wireless Ethernet devices
    • Unencrypted
    • WEP
    • WPA Personal and WPA Enterprise
  • Mobile Broadband Devices (GSM, CDMA, UMTS, etc)
  • Virtual Private Networks (OpenVPN, vpnc, openconnect, PTPP)
  • Dial-up (PPP) and xDSL (PPPoE)

NetworkManager in Fedora 13

Dan Williams, the maintainer of NetworkManager, has provided the community with an illuminating post about NetworkManager 0.8, found here. In addition to the information provided by Dan on his awesome post, we would like to highlight the new NetworkManager release 0.8.1, which ships in Fedora 13 "Goddard" and includes new features such as:

  • DHCPv6
  • Bluetooth DUN
  • Mobile broadband status

In Fedora 13 "Goddard", as in previous editions of Fedora, NetworkManager is installed by default, including the applets for the installed desktop environment (GNOME, KDE, Xfce).

NetworkManager - GNOME

Fedora 13; KDE 4.4.2; KNetworkManager network information.

Fedora 13 users with GNOME installed, such as in the default Fedora 13 Desktop Live edition, have the NetworkManager applet available in the panel. It searches available networks by default and provides easy and fast access to configuration options, such as creating new connections or by editing existing connections. It also provides information on details such as a connection's signal strength and the last time it was used.

NetworkManager - KDE

Just like its GNOME counterpart, KDE provides an applet interface for NetworkManager, known as KNetworkManager. This application development was started by Novell and provides an integrated Qt-based experience with similar usage and configuration as its GNOME counterpart, nm-applet.

Interview with Dan Williams

On behalf of Fedora Marketing team, as part of our series of feature profiles for Fedora 13, I had the privilege of interviewing Dan Williams, upstream maintainer for NetworkManager since 2005 and Red Hat Inc. employee. Dan has contributed heavily to the Fedora Project wiki with plentiful information about NetworkManager, which is the main reason why the interview was focused more on the developing environment and community than purely on NetworkManager features. I would like to thank Dan for his time for making time for this interview via email.
Nelson Marques, Fedora Marketing team


Interview

How would you characterize your involvement with Fedora and FOSS Communities?
Dan Williams: 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.
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.
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.
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.
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.
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.
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.
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.
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're using. 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.
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: The Taste of a New Generation.
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.
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.
I use gnome-terminal with multiple tabs for workflow (usually have NetworkManager'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 of modal editors like Emacs/vi probably because I used something else first.

Fedora's Foundations, a personal viewpoint

The Fedora Project's four Foundations

I finished the interview with Dan by asking him for his personal interpretation of the Fedora Project's four Foundations (Freedom, Friends, Features and First):

  • 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.
  • 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.
  • 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.
  • 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.

Biography

Dan Williams is a Senior Software Engineer in the Red Hat Desktop Team. He joined Red Hat Inc. in 2003 to work on the OpenOffice Suite, due to his involvement on the Mac OS X port of OpenOffice. In 2004 he was asked by Havoc to "look at making networking not suck (because it really, really did" (Williams, 2010). This led Dan to start working on NetworkManager from whom he is the upstream maintainer since 2005.

Dan Williams was also part of the original Red Hat team working on the OLPC (One Laptop Per Child).

An example of NetworkManager configuration

In the GNOME desktop environment, the NetworkManager notification applet allows the user to perform two tasks:

  • A right click opens a dialog box to enable networking for several devices and edit configuration and other options.
  • A left click opens a networking status box to connect to a configured network, create new networks and manage VPN connections.

This example shows how to configure a new wireless connection to a network that requires user authentication through Dynamic WEP/PEAP/MSCHAP V2. Most wireless networks will be detected by NetworkManager (establishing that your hardware is supported and is enabled). To configure, follow these steps:

  • Right click the NetworkManager applet and select Edit Connections. The following box should appear on your screen:
nm-applet "Network Connections" screen; GNOME 2.30.0.
  • Select the Wireless tab, and the available wireless networks are displayed. At this point select the network you want to edit and then select Edit.
  • A new dialog is displayed for the network connection that looks like this:
nm-applet "Editing 'Connection Name'" screen; GNOME 2.30.0.
  • There are several tabs available for configuration choices:
    • Wireless tab: change SSID, Mode, Mac Address, BSSID and MTU. In most cases there is no need to change anything here. Remember to check Connect automatically for such feature.
    • Wireless Security tab: For this example, the user selects the following:
      • Security: Dynamic WEP (802.1x)
      • Authentication: Protected EAP (PEAP)
      • Anonymous Identity: Not used for this example
      • CA Certificate: Not used for this example
      • PEAP Version: Select Automatic
      • Inner Authentication: Select MSCHAPv2
      • Username: Enter the authentication user name for the network
      • Password: Enter your authentication password for the network
      • Select other check boxes if applicable
    • IPv4 Settings: The DHCP option is usually correct, as in this example.
    • Select Apply.

At this stage NetworkManager logs you into your network, in just a few seconds. This is just one example of many network configurations that NetworkManager supports. Wireless networks can use other methods for authentication. Contact your system administrator or provider in order to get the proper credentials. This example used GNOME's nm-applet. Instead of nm-applet, users with KDE have KNetworkManager, which operates similarly.

Users having problems can seek help provided by Fedora Community volunteers on Freenode IRC Network on general channel: #Fedora. Be mindful that support on this IRC Channel is available only for some versions, usually the latest shipping version. An IRC chatting application is usually required for this. Some available are:

  • X-Chat - Distributed with Fedora (can be installed with: yum install xchat).
  • Konversation - Popular with KDE users and installed by default with KDE.

For more information visit our page on Communicating and getting help.

Message to our Users

The Fedora Project strives to lead the advancement of free and open source software (FOSS). Like many other community projects in the FOSS universe, its success depends on its growing number of contributors. We thank not only our contributors but also our end users for placing their trust in Fedora Linux distribution. Fedora continues to improve thanks to the important bug reports that are submitted by you and other Fedora users. We hope that you enjoy Fedora as much as our contributors enjoy working on the releases we issue every 6 months, providing leading technology and a free and open source operating system.
On behalf of the Fedora Marketing Team and Fedora community


Links of Interest