20 Most Popular Open Source Software Ever 20 Most Popular Open Source Software Ever by Tom Walker | Mar 10, 2010 | Tools | 125 comments 20 Most Popular Open Source Software Ever These days, you can quite easily buy a brand-spanking-new computer and install all the software you need for free, using applications offered under the Open Software License. You can get a free image editor, a free sound editor, a free word processor, media player, file archiver, PDF creator… the list goes on and on and on. While some of these free apps do not offer quite the same level of polished functionality as their commercial rivals, others far exceed the capabilities of everything else on the market. Below, we take a close look at the cream of the crop: 20 invaluable and indispensable open source applications that you really should be using, if you’re not already. The vast majority of them are cross-platform and absolutely 100% free! You’re bound to find several that are perfectly suited to your needs. As you might have suspected, WordPress is #1 on the list, and for good reason!

If you like WordPress Themes, make sure to check out the thousands of fully-licensed premium examples found over at Envato Market . Advertisement 1. WordPress WordPress is the world’s most popular blogging platform, used by a staggering 202 million websites. As simple or as complex as you want it to be, WordPress is supported by a wide array of plugins which can be used to transform a standard blog into anything you could possibly desire. Besides blogs, WordPress can be used as a straightforward content management system to power anything from online shops using WordPress e-commerce themes , online magazine using a WordPress magazine theme to portfolios using WordPress portfolio themes , WordPress gallery themes are great for photographers and designers showcasing their creations in an online portfolio. 2. Magento Magento, used by 30,000 merchants, including Samsung, Nespresso and The North Face, is the world’s fastest growing e-commerce platform. Magento Community Edition is offered for free under the Open Software License. The Enterprise Edition, for which you have to pay, offers features like multi-store capability, store credits and gift cards, out-of-the-box. 3. Mozilla Firefox Firefox currently accounts for 24.43% of the recorded usage share of web browsers, but this figure is on the rise.

Already the browser of choice for most web professionals, Firefox’s popularity is growing thanks to its vast selection of third party add-ons, which let users tailor their browsing environment down to the finest detail. 4. Mozilla Thunderbird With its speedy searches, built-in RSS feeds, strong security and superb add-ons, Thunderbird has to be the best, free email application available. If you’re prepared to spend some time tailoring your email environment with add-ons, you’ll absolutely love it, but it’s probably not ideal for complete novices. 5. FileZilla FileZilla is a hugely successful, cross-platform FTP client. It’s also available as a server, for Windows only. Created in January 2001 by Tim Klosse as a class project, FileZilla has gone on to become the 5th most popular download of all time from SourceForge.net. 6. GnuCash GnuCash provides a great, free alternative to paid-for accounting software. Designed for personal and small business use, it offers bank account, stock, income and expense tracking, in addition to double-entry accounting. 7.

Audacity Music software like Cubase and Logic Pro can be incredibly expensive, which is why an increasing number of people are turning to Audacity, a free, cross-platform sound editor. Users can record and edit live audio; cut, copy, splice and mix sounds; and convert ageing tapes and records into digital format. 8. GIMP Just like sound editors, industry standard image editing software is prohibitively expensive for a lot of people, but GIMP provides a free alternative. It performs every major function you could desire, except for, vitally, CMYK separation functionality necessary for prepress work. 9. OpenOffice With the ability to create text documents, spreadsheets, presentations and databases, OpenOffice is an accomplished rival to Microsoft Office, which clearly influenced OpenOffice’s design. Microsoft Office users will feel completely at home and find that OpenOffice performs just as well, if not better. 10. VLC At last count, VLC media player had been downloaded 300 million times. Unlike some paid-for alternatives, VLC supports practically every audio/video codec and file format. The most recent VLC release also offers live recording of streaming video, frame-by-frame advancement and superb speed controls. 11.

Handbrake Handbrake rips/converts DVDs to MPEG-4 for playing back on your iPod or archiving. It doesn’t have the ability to decode DVDs, but can do so if you have VLC, which includes a DVD encoder, installed on your computer. 12. Pidgin Pidgin is the ultimate, free instant messaging tool. It provides you with one window through which you can simultaneously interact with different people, whichever instant messaging platform they’re using. 13. Freemind Freemind is a terrific mind-mapping tool, which lets you get all your thoughts down as quickly as possible with the use of icons, shapes and colors. Besides the ordinary nodes and links, you can add hyperlinks and even documents to your maps. 14. Notepad++ Reliable, customizable, intuitive and free, Notepad++ is the most popular Windows-based CSS editor around. It offers everything: syntax highlighting; folding and auto-completion for CSS, C, C++, C#, Java, JavaScript, SQL, HTML, XML and PHP; multi-file viewing; tabbed editing; zoom in/out; and bookmarks. 15.

7-Zip 7-Zip is an extremely popular file archiver for Windows, which, although free, outperforms Winzip. It can unpack the vast majority of archive formats and can create TAR and GZ archives, commonly used on Unix and Linux systems, as well as its own 7z format, which easily outshrinks ZIP files. 16. Blender Blender is a 3D content creation suite which can be used for everything from modeling to skinning, particle simulation, animating and texturing. Unlike some other free apps in this list, Blender has not been designed to “imitate” other 3D graphics software, which means it takes a bit of getting used to, but once you’ve familiarized yourself with all the shortcuts, you’ll be hooked. 17. PDFCreator Windows users can consider PDFCreator a credible rival to Adobe Acrobat. Creating PDFs is as easy as printing, literally, as once installed, you can select PDFCreator as your printer, letting you create PDFs from practically any application. 18. Calibre According to Calibre, it’s the “one stop solution to all your e-book needs”. I’m inclined to agree.

Besides letting you catalogue and manage your e-book collection, sorting, tagging and commenting on them as you please, you can download content from the internet and convert it into e-book form. 19. TrueCrypt TrueCrypt really is the best free encryption program around for anyone worried about their security. It offers 11 algorithms for encrypting your files, as well as a comprehensive help manual, which gives advice on complex password creation, hidden volumes and erasing encryption giveaways. 20. Ubuntu Named after an African philosophy of community, sharing and generosity, Ubuntu is a free operating system for Linux that’s quick and easy to use. Recent figures suggest that around 50% of Linux users have Ubuntu installed. With its focus on usability, Ubuntu comes with OpenOffice, Firefox Empathy, Pidgin, GIMP and other tools pre-installed. What is Open Source Software? Webopedia OpenDaylight Project We discuss open source software, the basics behind the Open Source Initiative (OSI), and Free Software Licensing.

Open source refers to a program or software in which the source code (the form of the program when a programmer writes a program in a particular programming language) is available to the general public for use and/or modification from its original design free of charge. Open source code is typically created as a collaborative effort in which programmers improve upon the code and share the changes within the community. The Rationale Behind Open Source Software The rationale for this movement is that a larger group of programmers not concerned with proprietary ownership or financial gain will produce a more useful and bug-free product for everyone to use. The concept relies on peer review to find and eliminate bugs in the program code, a process that commercially developed and packaged programs do not employ. The basics behind the Open Source Initiative is that when programmers can read, redistribute and modify the source code for a piece of software , the software evolves. Open source sprouted in the technological community as a response to proprietary software owned by corporations. Contrast with Proprietary Software Proprietary software is privately owned and controlled. In the computer industry, proprietary is considered the opposite of open. A proprietary design or technique is one that is owned by a company.

It also implies that the company has not divulged specifications that would allow other companies to duplicate the product. What is The Open Source Initiative (OSI)? Open Source is a certification standard issued by the Open Source Initiative (OSI) that indicates that the source code of a computer program is made available free of charge to the general public. OSI dictates that in order to be considered "OSI Certified" a product must meet the following criteria: The author or holder of the license of the source code cannot collect royalties on the distribution of the program. The distributed program must make the source code accessible to the user. The author must allow modifications and derivations of the work under the program's original name. No person, group or field of endeavor can be denied access to the program. The rights attached to the program must not depend on the program's being part of a particular software distribution. The licensed software cannot place restrictions on other software that is distributed with it. The Open Source Definition, by the Open Source Initiative Open source software is normally distributed with the source code under an open source license. The Open Source Initiative sets the following distribution terms that open-source software must comply with; Introduction Open source doesn't just mean access to the source code.

The distribution terms of open-source software must comply with the following criteria: 1. Free Redistribution The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale. 2. Source Code The program must include source code, and must allow distribution in source code as well as compiled form. Where some form of a product is not distributed with source code, there must be a well-publicized means of obtaining the source code for no more than a reasonable reproduction cost preferably, downloading via the Internet without charge. The source code must be the preferred form in which a programmer would modify the program. Deliberately obfuscated source code is not allowed. Intermediate forms such as the output of a preprocessor or translator are not allowed 3. Derived Works The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software. 4. Integrity of The Author's Source Code The license may restrict source-code from being distributed in modified form only if the license allows the distribution of "patch files" with the source code for the purpose of modifying the program at build time.

The license must explicitly permit distribution of software built from modified source code. The license may require derived works to carry a different name or version number from the original software. 5. No Discrimination Against Persons or Groups The license must not discriminate against any person or group of persons. 6. No Discrimination Against Fields of Endeavor The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research. 7. Distribution of License The rights attached to the program must apply to all to whom the program is redistributed without the need for execution of an additional license by those parties. 8. License Must Not Be Specific to a Product The rights attached to the program must not depend on the program's being part of a particular software distribution. If the program is extracted from that distribution and used or distributed within the terms of the program's license, all parties to whom the program is redistributed should have the same rights as those that are granted in conjunction with the original software distribution. 9. License Must Not Restrict Other Software The license must not place restrictions on other software that is distributed along with the licensed software.

For example, the license must not insist that all other programs distributed on the same medium must be open-source software. 10. License Must Be Technology-Neutral No provision of the license may be predicated on any individual technology or style of interface. [Source: Open Source Initiative, " The Open Source Definition "] Free Software Licensing All open source software is not distributed under the same licensing agreement. Some may use a free software license, a copyleft, or GPL compatible. The GNU GPL license is a free software license and a copyleft license, while a "GNU Lesser General Public License" is a free software license, but not a strong copyleft license. There are many different types of licenses for free software . some GNU GPL compatible, some not. The Open Source Initiative approves open source licenses after they have successfully gone through the approval process and comply with the Open Source Definition (above). There is currently well over fifty licenses that have been approved by the OSI. For example, the GNU General Public License (GPL) is one license that accompanies some open source software that details how the software and its accompany source code can be freely copied, distributed and modified.

The most widespread use of GPL is in reference to the GNU GPL, which is commonly abbreviated simply as GPL when it is understood that the term refers to the GNU GPL. One of the basic tenets of the GPL is that anyone who acquires the material must make it available to anyone else under the same licensing agreement. The GPL does not cover activities other than the copying, distributing and modifying of the source code. Other open source licenses include the following: Academic Free License 3.0 (AFL 3.0) Affero GNU Public License Zope Public License zlib/libpng license [Source: You can read the details and newly added approved licenses on the OSI Open Source Licenses Web page ] Programmers & Corporations - Why Invest in What is Free? A software programmer really has his or her own reasons for contributing to open source projects. Some may just be looking for fun or a challenge, while others are looking to improve skill and build on their programming abilities, or they may want to belong to a group project. In many instances there is the opportunity to make money as open source projects can be funded by government or corporate sponsors.

Unlike commercial projects, open source projects allow the programmer's name to be known, which benefits a programmer's name and portfolio — which can lead to future jobs with other funded open source or commercial projects. The hype and benefits of open source has not gone unnoticed in the commercial world where some corporations have jumped on the open source bandwagon. Since commercial software is sold for profit, one may wonder why a company would be interested in open source projects. In many cases companies are able to profit through selling add-on tools or modules, or paid consulting services and technical support for the program. Some Successful Open Source Projects Sendmail Sendmail is an open source mail transfer agent (MTA) used for routing and delivery e-mail. The original version of Sendmail was written by Eric Allman in the early 1980s. It is estimated that Sendmail is installed on 60 to 80 percent of the Internet's mail-server computers. Apache Web server Often referred to as simply Apache , a public-domain open source Web server developed by a loosely knit group of programmers. The first version of Apache, based on the NCSA httpd Web server, was developed in 1995.

Core development of the Apache Web server is performed by a group of about 20 volunteer programmers, called the Apache Group. However, because the source code is freely available, anyone can adapt the server for specific needs, and there is a large public library of Apache add-ons. Linux (Pronounced lee-nucks or lih-nucks). A freely distributable open source operating system that runs on a number of hardware platforms. The Linux kernel was developed mainly by Linus Torvalds. Because it's free, and because it runs on many platforms, including PCs and Macintoshes, Linux has become an extremely popular alternative to proprietary operating systems. GNOME Acronym for GNU Network Object Model Environment. (Pronounced guh-nome) GNOME is part of the GNU project and part of the free software, or open source, movement. GNOME is a Windows-like desktop system that works on UNIX and UNIX-like systems and is not dependent on any one window manager. The current version runs on Linux, FreeBSD, IRIX and Solaris. The main objective of GNOME is to provide a user-friendly suite of applications and an easy-to-use desktop. Key Terms To Understanding Open Source GNOME Acronym for GNU Network Object Model Environment.

(Pronounced guh-nome.) GNOME is part of the GNU project and part of the free software, or open source, movement. Did You Know... The Open Source Definition was written by Bruce Perens as "The Debian Free Software Guidelines", and refined it using the comments of the Debian developers in a month-long e-mail conference in June, 1997. He removed the Debian-specific references from the document to create the "Open Source Definition." Based in Nova Scotia, Vangie Beal is has been writing about technology for more than a decade. She is a frequent contributor to EcommerceGuide and managing editor at Webopedia. You can tweet her online @AuroraGG. Debian -- About Debian About Debian WHAT is Debian? The Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system that we have created is called Debian. An operating system is the set of basic programs and utilities that make your computer run. At the core of an operating system is the kernel. The kernel is the most fundamental program on the computer and does all the basic housekeeping and lets you start other programs. Debian systems currently use the Linux kernel or the FreeBSD kernel.

Linux is a piece of software started by Linus Torvalds and supported by thousands of programmers worldwide. FreeBSD is an operating system including a kernel and other software. However, work is in progress to provide Debian for other kernels, primarily for the Hurd . The Hurd is a collection of servers that run on top of a microkernel (such as Mach) to implement different features. The Hurd is free software produced by the GNU project . A large part of the basic tools that fill out the operating system come from the GNU project ; hence the names: GNU/Linux, GNU/kFreeBSD, and GNU/Hurd. These tools are also free. Of course, the thing that people want is application software: programs to help them get what they want to do done, from editing documents to running a business to playing games to writing more software. Debian comes with over 43000 packages (precompiled software that is bundled up in a nice format for easy installation on your machine), a package manager (APT), and other utilities that make it possible to manage thousands of packages on thousands of computers as easily as installing a single application. All of it free . It's a bit like a tower. At the base is the kernel.

On top of that are all the basic tools. Next is all the software that you run on the computer. At the top of the tower is Debian — carefully organizing and fitting everything so it all works together. It's all free? You may be wondering: why would people spend hours of their own time to write software, carefully package it, and then give it all away? The answers are as varied as the people who contribute. Some people like to help others. Many write programs to learn more about computers. More and more people are looking for ways to avoid the inflated price of software. A growing crowd contribute as a thank you for all the great free software they've received from others. Many in academia create free software to help get the results of their research into wider use. Businesses help maintain free software so they can have a say in how it develops -- there's no quicker way to get a new feature than to implement it yourself! Of course, a lot of us just find it great fun. Debian is so committed to free software that we thought it would be useful if that commitment was formalized in a written document. Thus, our Social Contract was born.

Although Debian believes in free software, there are cases where people want or need to put non-free software on their machine. Whenever possible Debian will support this. There are even a growing number of packages whose sole job is to install non-free software into a Debian system. You say free, but the CDs/bandwidth cost money! You might be asking: If the software is free, then why do I have to pay a vendor for a CD, or pay an ISP for downloading? When buying a CD, you are paying for someone's time, capital outlay to make the disks, and risk (in case they don't sell them all). In other words, you are paying for a physical medium used to deliver the software, not for the software itself. When we use the word "free", we are referring to software freedom, not that it's without cost. You can read more on what we mean by "free software" and what the Free Software Foundation says on that subject. Most software costs over 100 US dollars. How can you give it away? A better question is how do software companies get away with charging so much? Software is not like making a car.

Once you've made one copy of your software, the production costs to make a million more are tiny (there's a reason Microsoft has so many billions in the bank). Look at it another way: if you had an endless supply of sand in your backyard, you might be willing to give sand away. It would be foolish, though, to pay for a truck to take it to others. You would make them come and get it themselves (equivalent to downloading off the net) or they can pay someone else to deliver it to their door (equivalent to buying a CD). This is exactly how Debian operates and why most of the CDs/DVDs are so cheap (only about 12 USD for 4 DVDs). Debian does not make any money from the sale of CDs. At the same time, money is needed to pay for expenses such as domain registration and hardware. Thus, we ask that you buy from one of the CD vendors that donates a portion of your purchase to Debian. What hardware is supported? Debian will run on almost all personal computers, including most older models. Each new release of Debian generally supports a larger number of computer architectures. For a complete list of currently supported ones, see the documentation for the stable release .

Almost all common hardware is supported. If you would like to be sure that all the devices connected to your machine are supported, check out the Linux Hardware Compatibility HOWTO . There are a few companies that make support difficult by not releasing specifications for their hardware. This means you might not be able to use their hardware with GNU/Linux. Some companies provide non-free drivers, but that is a problem because the company could later go out of business or stop support for the hardware you have. We recommend that you only purchase hardware from manufacturers that provide free drivers for their products. I'm still not convinced. Don't take our word for it - try Debian yourself. Since hard disk space has become less expensive, you can probably spare about 2GB. If you don't want or need a graphical desktop, 600MB are sufficient. Debian can be easily installed on this extra space and can coexist with your existing OS. If you eventually need more space, you can simply delete one of your OSes (and after you see the power of a Debian system, we are confident you won't delete Debian). As trying a new operating system will take some of your valuable time, it is understandable that you may have reservations.

For this reason we compiled a list of pros and cons of Debian . This should help you decide whether you think it's worth it. We hope you'll appreciate our honesty and frankness. How do I get Debian? It's most popular to install Debian from a CD which you can buy for the price of the media at one of our many CD vendors. If you have good Internet access, you can download and install Debian over the Internet. Please see our page about getting Debian for more information. If you haven't yet, you may want to first look at the Linux Hardware Compatibility HOWTO . Don't forget to take a look through the packages we offer (hopefully you won't be intimidated by the sheer number). I can't set it up all by myself. How do I get support for Debian? You can get help by reading the documentation which is available both on the web site and in packages you can install on your system. You can also contact us via the mailing lists or using IRC. One can even hire a consultant to do the work. Please see our documentation and support pages for more information. Who are you all anyway? Debian is produced by almost a thousand active developers spread around the world who volunteer in their spare time.

Few of the developers have actually met in person. Communication is done primarily through e-mail (mailing lists at lists.debian.org) and IRC (#debian channel at irc.debian.org). The Debian Project has a carefully organized structure . For more information on how Debian looks from the inside, please feel free to browse the developers' corner . Who uses Debian? Although no precise statistics are available (since Debian does not require users to register), evidence is quite strong that Debian is used by a wide range of organizations, large and small, as well as many thousands of individuals. See our Who's using Debian? page for a list of high-profile organizations which have submitted short descriptions of how and why they use Debian. How'd it all get started? Debian was begun in August 1993 by Ian Murdock, as a new distribution which would be made openly, in the spirit of Linux and GNU. Debian was meant to be carefully and conscientiously put together, and to be maintained and supported with similar care. It started as a small, tightly-knit group of Free Software hackers, and gradually grew to become a large, well-organized community of developers and users. See the detailed history .

Since many people have asked, Debian is pronounced /ˈde.bi.ən/. It comes from the names of the creator of Debian, Ian Murdock, and his wife, Debra. Back to the Debian Project homepage . This page is also available in the following languages: Using Grep &amp; Regular Expressions to Search for Text Patterns in Linux | DigitalOcean Conclusion Basic Usage In its simpest form, grep can be used to match literal patterns within a text file. This means that if you pass grep a word to search for, it will print out every line in the file containing that word. Let's try an example. We will use grep to search for every line that contains the word "GNU" in the GNU General Public License version 3 on an Ubuntu system. cd /usr/share/common-licenses grep "GNU" GPL-3 GNU GENERAL PUBLIC LICENSE The GNU General Public License is a free, copyleft license for the GNU General Public License is intended to guarantee your freedom to GNU General Public License for most of our software; it applies also to Developers that use the GNU GPL protect your rights with two steps: "This License" refers to version 3 of the GNU General Public License. 13.

Use with the GNU Affero General Public License. under version 3 of the GNU Affero General Public License into a single ... ... The first argument, "GNU", is the pattern we are searching for, while the second argument, "GPL-3", is the input file we wish to search. The resulting output will be every line containing the pattern text. In some Linux distributions, the searched for pattern will be highlighted in the resulting lines. Common Options By default, grep will simply search for the exact specified pattern within the input file and return the lines it finds. We can make this behavior more useful though by adding some optional flags to grep. If we would want grep to ignore the "case" of our search parameter and search for both upper- and lower-case variations, we can specify the "-i" or "--ignore-case" option. We will search for each instance of the word "license" (with upper, lower, or mixed cases) in the same file as before. grep -i "license" GPL-3 GNU GENERAL PUBLIC LICENSE of this license document, but changing it is not allowed.

The GNU General Public License is a free, copyleft license for The licenses for most software and other practical works are designed the GNU General Public License is intended to guarantee your freedom to GNU General Public License for most of our software; it applies also to price. Our General Public Licenses are designed to make sure that you (1) assert copyright on the software, and (2) offer you this License "This License" refers to version 3 of the GNU General Public License. "The Program" refers to any copyrightable work licensed under this ... ... As you can see, we have been given results that contain: "LICENSE", "license", and "License". If there was an instance with "LiCeNsE", that would have been returned as well. If we want to find all lines that do not contain a specified pattern, we can use the "-v" or "--invert-match" option. We can search for every line that does not contain the word "the" in the BSD license with the following command: grep -v "the" BSD All rights reserved. Redistribution and use in source and binary forms, with or without are met: may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ... ... As you can see, because we did not specify the "ignore case" option, the last two items were returned as not having the word "the". It is often useful to know the line number that the matches occur on. This can be accomplished by using the "-n" or "--line-number" option. The previous example with this flag added would return the following text: grep -vn "the" BSD 2:All rights reserved. 3: 4:Redistribution and use in source and binary forms, with or without 6:are met: 13: may be used to endorse or promote products derived from this software 14: without specific prior written permission. 15: 16:THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 17:ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE ... ... Now we can reference the line number if we want to make changes to every line that does not contain "the". Regular Expressions In the introduction, we stated that grep stands for "global regular expression print".

A "regular expression" is a text string that describes a particular search pattern. Different applications and programming languages implement regular expressions slightly differently. We will only be exploring a small subset of the way that grep describes its patterns. Literal Matches The examples above, when we searched for the words "GNU" and "the", we were actually searching for very simple regular expressions, which matched the exact string of characters "GNU" and "the". It is helpful to always think of these as matching a string of characters rather than matching a word. This will become a more important distinction as we learn more complex patterns. Patterns that exactly specify the characters to be matched are called "literals" because they match the pattern literally, character-for-character. All alphabetic and numerical characters (as well as certain other characters) are matched literally unless modified by other expression mechanisms. Anchor Matches Anchors are special characters that specify where in the line a match must occur to be valid. For instance, using anchors, we can specify that we only want to know about the lines that match "GNU" at the very beginning of the line. To do this, we could use the "^" anchor before the literal string.

This string example will only mach "GNU" if it occurs at the very beginning of a line. grep "^GNU" GPL-3 GNU General Public License for most of our software; it applies also to GNU General Public License, you may choose any version ever published Similarly, the "$" anchor can be used after a string to indicate that the match will only be valid if it occurs at the very end of a line. We will match every line ending with the word "and" in the following regular expression: grep "and$" GPL-3 that there is no warranty for this free software. For both users' and The precise terms and conditions for copying, distribution and License. Each licensee is addressed as "you".

"Licensees" and receive it, in any medium, provided that you conspicuously and alternative is allowed only occasionally and noncommercially, and network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and provisionally, unless and until the copyright holder explicitly and receives a license from the original licensors, to run, modify and make, use, sell, offer for sale, import and otherwise run, modify and Matching Any Character The period character (.) is used in regular expressions to mean that any single character can exist at the specified location. For example, if we want to match anything that has two characters and then the string "cept", we could use the following pattern: grep "..cept" GPL-3 use, which is precisely where it is most unacceptable. Therefore, we infringement under applicable copyright law, except executing it on a tells the user that there is no warranty for the work (except to the License by making exceptions from one or more of its conditions. form of a separately written license, or stated as exceptions; You may not propagate or modify a covered work except as expressly 9. Acceptance Not Required for Having Copies. ... ...

As you can see, we have instances of both "accept" and "except" and variations of the two words. The pattern would also have matched "z2cept" if that was found as well. Bracket Expressions By placing a group of characters within brackets ("[" and "]"), we can specify that the character at that position can be any one character found within the bracket group. This means that if we wanted to find the lines that contain "too" or "two", we could specify those variations succinctly by using the following pattern: grep "t[wo]o" GPL-3 your programs, too. freedoms that you received. You must make sure that they, too, receive Developers that use the GNU GPL protect your rights with two steps: a computer network, with no transfer of a copy, is not conveying. System Libraries, or general-purpose tools or generally available free Corresponding Source from a network server at no charge. ... ... We can see that both variations are found within the file. Bracket notation also allows us some interesting options. We can have the pattern match anything except the characters within a bracket by beginning the list of characters within the brackets with a "^" character.

This example is like the pattern ".ode", but will not match the pattern "code": grep "[^c]ode" GPL-3 1. Source Code. model, to give anyone who possesses the object code either (1) a the only significant mode of use of the product. notice like this when it starts in an interactive mode: You will notice that in the second line returned, there is, in fact, the word "code". This is not a failure of the regular expression or grep. Rather, this line was returned because earlier in the line, the pattern "mode", found within the word "model", was found. The line was returned because there was an instance that matched the pattern. Another helpful feature of brackets is that you can specify a range of characters instead of individually typing every available character. This means that if we want to find every line that begins with a capital letter, we can use the following pattern: grep "^[A-Z]" GPL-3 GNU General Public License for most of our software; it applies also to States should not allow patents to restrict development and use of License. Each licensee is addressed as "you".

"Licensees" and Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an System Libraries, or general-purpose tools or generally available free Source. User Product is transferred to the recipient in perpetuity or for a ... ... Due to some legacy sorting issues, it is often more accurate to use POSIX character classes instead of character ranges like we just used. There are many character classes that are outside of the scope of this guide, but an example that would accomplish the same procedure as above uses the "[:upper:]" character class within a bracket selector: grep "^[[:upper:]]" GPL-3 GNU General Public License for most of our software; it applies also to States should not allow patents to restrict development and use of License. Each licensee is addressed as "you". "Licensees" and Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an System Libraries, or general-purpose tools or generally available free Source. User Product is transferred to the recipient in perpetuity or for a ... ...

Repeat Pattern Zero or More Times Finally, one of the most commonly used meta-characters is the "*", which means "repeat the previous character or expression zero or more times". If we wanted to find each line that contained an opening and closing parenthesis, with only letters and single spaces in between, we could use the following expression: grep "([A-Za-z ]*)" GPL-3 Copyright (C) 2007 Free Software Foundation, Inc. distribution (with or without modification), making available to the than the work as a whole, that (a) is included in the normal form of Component, and (b) serves only to enable use of the work with that (if any) on which the executable work runs, or a compiler used to (including a physical distribution medium), accompanied by the (including a physical distribution medium), accompanied by a place (gratis or for a charge), and offer equivalent access to the ... ... Escaping Meta-Characters Sometimes, we may want to search for a literal period or a literal opening bracket. Because these characters have special meaning in regular expressions, we need to "escape" these characters to tell grep that we do not wish to use their special meaning in this case.

We can escape characters by using the backslash character (\) before the character that would normally have a special meaning. For instance, if we want to find any line that begins with a capital letter and ends with a period, we could use the following expression. The ending period is escaped so that it represents a literal period instead of the usual "any character" meaning: grep "^[A-Z].*\.$" GPL-3 Source. License by making exceptions from one or more of its conditions. License would be to refrain entirely from conveying the Program. ALL NECESSARY SERVICING, REPAIR OR CORRECTION. SUCH DAMAGES. Also add information on how to contact you by electronic and paper mail. Extended Regular Expressions Grep can be used with an even more extensive regular expression language by using the "-E" flag or by calling the "egrep" command instead of grep. These options open up the capabilities of "extended regular expressions". Extended regular expressions include all of the basic meta-characters, along with additional meta-characters to express more complex matches. Grouping One of the easiest and most useful abilities that extended regular expressions open up is the ability to group expressions together to manipulate or reference as one unit. Group expressions together using parentheses.

If you would like to use parentheses without using extended regular expressions, you can escape them with the backslash to enable this functionality. grep "\(grouping\)" file.txt The above three expressions are functionally equivalent. Alternation Similar to how bracket expressions can specify different possible choices for single character matches, alternation allows you to specify alternative matches for strings or expression sets. To indicate alternation, we use the pipe character "|". These are often used within parenthetical grouping to specify that one of two or more possibilities should be considered a match. The following will find either "GPL" or "General Public License" in the text: grep -E "(GPL|General Public License)" GPL-3 The GNU General Public License is a free, copyleft license for the GNU General Public License is intended to guarantee your freedom to GNU General Public License for most of our software; it applies also to price. Our General Public Licenses are designed to make sure that you Developers that use the GNU GPL protect your rights with two steps: For the developers' and authors' protection, the GPL clearly explains authors' sake, the GPL requires that modified versions be marked as have designed this version of the GPL to prohibit the practice for those ... ...

Alternation can select between more than two choices by adding additional choices within the selection group separated by additional pipe (|) characters. Quantifiers Like the "*" meta-character, that matched the previous character or character set zero or more times, there are other meta-characters available in extended regular expressions that specify the number of occurrences. To match a character zero or one times, you can use the "?" character. This makes character or character set that came before optional, in essence. The following matches "copyright" and "right" by putting "copy" in an optional group: grep -E "(copy)?right" GPL-3 Copyright (C) 2007 Free Software Foundation, Inc. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License "Copyright" also means copyright-like laws that apply to other kinds of ... ... The "+" character matches an expression one or more times. This is almost like the "*" meta-character, but with the "+" character, the expression must match at least once.

The following expression matches the string "free" plus one or more characters that are not whitespace: grep -E "free[^[:space:]]+" GPL-3 The GNU General Public License is a free, copyleft license for to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to When we speak of free software, we are referring to freedom, not have the freedom to distribute copies of free software (and charge for you modify it: responsibilities to respect the freedom of others. freedoms that you received. You must make sure that they, too, receive protecting users' freedom to change the software. The systematic of the GPL, as needed to protect the freedom of users. patents cannot be used to render the program non-free. Specifying Match Repetition If we need to specify the number of times that a match is repeated, we can use the brace characters ("{" and "}"). These characters are used to specify an exact number, a range, or an upper or lower bounds to the amount of times an expression can match.

If we want to find all of the lines that contain triple-vowels, we can use the following expression: grep -E "[AEIOUaeiou]{3}" GPL-3 changed, so that their problems will not be attributed erroneously to authors of previous versions. receive it, in any medium, provided that you conspicuously and give under the previous paragraph, plus a right to possession of the covered work so as to satisfy simultaneously your obligations under this If we want to match any words that have between 16 and 20 characters, we can use the following expression: grep -E "[[:alpha:]]{16,20}" GPL-3 certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. c) Prohibiting misrepresentation of the origin of that material, or Conclusion There are many times when grep will be useful in finding patterns within files or within the file system hierarchy. It is worthwhile to become familiar with its options and syntax to save yourself time when you need it. Regular expressions are even more versatile, and can be used with many popular programs. For instance, many text editors implement regular expressions for searching and replacing text.

Furthermore, most modern programming languages use regular expressions to perform procedures on specific pieces of data. Regular expressions are a skill that will be transferrable to many common computer-related tasks. By Justin Ellingwood

Question: What is the most common alternative name for the gnu?
Answer: WILDEBEESTE