Archive

Posts Tagged ‘community’

Managed Packages

June 1, 2011 Leave a comment

There are tons and tons of open source projects out there. Something for almost every topic or task. From general purpose, common or popular down to highly specialized or unheard of software. This is one of Linux’s strengths, especially with distributions like Ubuntu which have package repositories with thousands of options readily available to the user.

Package Manager

Synaptic Package Manager is Ubuntu’s user interface to the underlying apt package management system. Whenever I want to install something I would first go check if I can’t find it in Synaptic before I go look to download it manually. More often than not I would find the package in Synaptic, and can have it then installed with just 2 more clicks of the mouse.

This saves a lot of time, and never goes unappreciated.

Ubuntu Repositories

The package management software for Ubuntu is brilliant. But without thorough repositories they’re nothing more than just that, package management.

Ubuntu has multiple levels of repositories by default, nl. main, universe, multiverse and restricted.

  • The main repository is maintained by, and contains software officially supported by Canonicle themselves.
  • The universe repository is maintained by the community and isn’t officially supported by Canonicle.
  • The restricted repository contains packages that isn’t available under a completely free license. A popular example is for proprietary drivers, like the Nvidia or ATI graphics drivers.
  • The multiverse repository contain software that isn’t free.

Canonicle is doing a great job with the main repository, having a decent variety of packages available and kept up to date. On top of this the community is doing a fantastic job to keep the universe repository filled up. With these two I rarely have the need to go looking for software on the internet.

Easy Repository Integration

For the few cases where the default repositories don’t have what you need, you need to get it from the internet.

There are a few ways to install packages from the internet.

  • Download an installer and run it.
  • Download an archive and either build from source or install it some manual way.
  • Download a .deb package and install via dpkg.
  • Add a 3rd party repository to your package management system and then install via Synaptic.

The Ubuntu system makes it very easy to add a 3rd party repository. This means that if you come across a site that offers an Ubuntu (or apt) repository, it can usually come in the form of

  1. A string called an “APT line”, which you can just add using the supplied GUI in Synaptic Package Manager, or
  2. A .deb file which you install via dpkg. This will then set up the repository for you. You can usually just double click on the .deb and it will start up the installation for you.

After you’ve got their repository set up you can go into Synaptic, search for the package you want, and install it.

Standardized Maintenance and Management

One of the biggest benefits of installing packages via the repositories (other than it making your life easier), is that the program is now maintained by the package management system. This means that your system has a standardized way of

  1. Having on record what is installed and what files are owned by the package
  2. Reinstalling if files go missing or become corrupted
  3. Cleanly removing the package
  4. Finding and installing updates for the package.

For packages installed via other methods there is usually no uninstall or automated update support.

Some of the more advanced programs have built in support for this. But if you installed it into a shared location owned by root, you won’t be able to update. I usually get around this by temporarily changing the ownership of the directory, doing the update and restoring the ownership.

Exploring

With the large variety of packages available via the Ubuntu repositories, you have an endless number of programs to try out if you feel like exploring. I have had some of these moment where I just pick some random location and start reading the description of each package until I find something that pokes seems interesting. I will then install it, play around and return to the list to find another one.

It’s a very good way of learning about new programs and projects, and certainly an amusing exercise.

Conclusion

So Why Love Linux? Being the result of open source communities there are tons of projects out there and decent repositories and package management systems make these easily available.

Community Driven

May 20, 2011 Leave a comment

Open source is mostly community driven. There is a lot of power behind this. If you’ve never read The Cathedral and the Bazaar, do yourself a favour and read it.

Most open source projects, especially those for all the different components of the Linux distributions I use have great communities driving them. What this means is that much to all of the roles required in a typical software development project are filled by volunteers from all over the world. There are many benefits to this, though the two I appreciate the most is what I’m writing about here.

Features Needed by People added by People

So, many of the features we find in these software projects are there because people needed them. Someone needs to get something specific out of a some software, whether it be a feature accessed via a user interface or just some documentation to give clarity on on a certain topic. If this person has the capacity to influence the project into adding this or even add this functionality himself, he can do so and have it become part of the main project. I’m making it sound much simpler than it really is, but the point I’m trying to make is that the designs, architectures and functionality of open source software is largely influenced by what people actually need and what works well for them.

I believe it’s also a big part of the reason logging is done so well in open source software, because the people making it add what they need to achieve the task and make their lives simpler while doing so.

The Ultimate Peer Review Gives High Quality

When you submit work to an open source project, you’re submission is seen by everyone who wishes to look at it. Some of these people know you, some you don’t, some like you, some don’t, some are rational, some are not, some are emotional some are not. So many different perspectives are laying their eyes on your work, and for this reason it will be criticized in a way you won’t ever be able to find or replicate in a fixed team of people. Fresh, biased and unbiased views of the work are always created as people come and go.

Further, since many of these people are part of the project and looking at these things because it’s what they like and what they want to be doing at that moment, their perspectives are influenced by passion, which is a very powerful influence. Either way.

All this generally has the side effect of improving quality. In some cases bad influences cause the opposite, though in some open source projects you get extremely high quality work coming out of the community.

Some of these communities are so strict, that unless your submission is of the highest level of quality, as defined by them, it will simply be rejected.

What I mentioned here isn’t the sole explanation or cause for high quality, and certainly doesn’t stand alone. It’s just a strong influencing pillar for quality, and one of the reasons I Love Linux!

You can certainly improve and sharpen your skills by contributing to an open source project. Not only this, but it’s very satisfying to know you’re contributing to these projects. Try it.

Conclusion

So Why Love Linux? Because it’s driven and created by a community who does it for no other reason than loving what they do!