100% found this document useful (6 votes)
141 views54 pages

Linux For Developers Jumpstart Your Linux Programming Skills William "Bo" Rothwell Download PDF

Linux

Uploaded by

gcwabesuturr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (6 votes)
141 views54 pages

Linux For Developers Jumpstart Your Linux Programming Skills William "Bo" Rothwell Download PDF

Linux

Uploaded by

gcwabesuturr
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

Experience Seamless Full Ebook Downloads for Every Genre at textbookfull.

com

Linux for Developers Jumpstart Your Linux


Programming Skills William "Bo" Rothwell

https://textbookfull.com/product/linux-for-developers-
jumpstart-your-linux-programming-skills-william-bo-rothwell/

OR CLICK BUTTON

DOWNLOAD NOW

Explore and download more ebook at https://textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Advanced Perl Programming 1st Edition William "Bo"


Rothwell [Rothwell

https://textbookfull.com/product/advanced-perl-programming-1st-
edition-william-bo-rothwell-rothwell/

textboxfull.com

Beginning Perl Programming: From Novice to Professional


William "Bo" Rothwell

https://textbookfull.com/product/beginning-perl-programming-from-
novice-to-professional-william-bo-rothwell/

textboxfull.com

Digital Forensics with Kali Linux Enhance your


investigation skills by performing network and memory
forensics with Kali Linux 3rd Edition Parasram
https://textbookfull.com/product/digital-forensics-with-kali-linux-
enhance-your-investigation-skills-by-performing-network-and-memory-
forensics-with-kali-linux-3rd-edition-parasram/
textboxfull.com

Mastering Linux Administration : Take your sysadmin skills


to the next level by configuring and maintaining Linux
systems 2nd Edition Alexandru Calcatinge & Julian Balog
https://textbookfull.com/product/mastering-linux-administration-take-
your-sysadmin-skills-to-the-next-level-by-configuring-and-maintaining-
linux-systems-2nd-edition-alexandru-calcatinge-julian-balog/
textboxfull.com
The Linux DevOps Handbook: Customize and scale your Linux
distributions to accelerate your DevOps workflow Wojs■aw

https://textbookfull.com/product/the-linux-devops-handbook-customize-
and-scale-your-linux-distributions-to-accelerate-your-devops-workflow-
wojslaw/
textboxfull.com

Mastering Embedded Linux Programming - Second Edition:


Unleash the full potential of Embedded Linux with Linux
4.9 and Yocto Project 2.2 Chris Simmonds
https://textbookfull.com/product/mastering-embedded-linux-programming-
second-edition-unleash-the-full-potential-of-embedded-linux-with-
linux-4-9-and-yocto-project-2-2-chris-simmonds/
textboxfull.com

Linux Kernel Programming - Second Edition Kaiwan N.


Billimoria

https://textbookfull.com/product/linux-kernel-programming-second-
edition-kaiwan-n-billimoria/

textboxfull.com

Mastering Linux Shell Scripting a practical guide to Linux


command line Bash scripting and Shell programming Ebrahim

https://textbookfull.com/product/mastering-linux-shell-scripting-a-
practical-guide-to-linux-command-line-bash-scripting-and-shell-
programming-ebrahim/
textboxfull.com

Mastering Kali Linux for advanced penetration testing


secure your network with Kali Linux the ultimate hackers
arsenal Second Edition Velu
https://textbookfull.com/product/mastering-kali-linux-for-advanced-
penetration-testing-secure-your-network-with-kali-linux-the-ultimate-
hackers-arsenal-second-edition-velu/
textboxfull.com
Meydan VIP Bridge, Dubai, United Arab Emirates

Dubai’s 80-meter Meydan VIP Bridge carries the royal


family and guests to the grandstand at the annual
Dubai World Cup horse race. Opened in time for the
March 27, 2010 World Cup, the bridge’s architecture
aims to evoke the flowing mane of a racehorse.
At night, the bridge is lit with shimmering royal blue
LED lights embedded in its steel cladding and smoothly
following its undulations. While few people have the
opportunity to cross this private bridge, it has been
seen by millions worldwide, as a key location in the
movie Mission Impossible: Ghost Protocol.
Linux for
Developers
Developer’s Library

Visit informit.com/devlibrary for a complete list of available publications.

The Developer’s Library series from Addison-Wesley provides practicing


programmers with unique, high-quality references and tutorials on the latest
programming languages and technologies they use in their daily work. All
books in the Developer’s Library are written by expert technology practioners
who are exceptionally skilled at organizing and presenting information in a
way that is useful for other programmers.

Developer’s Library titles cover a wide range of topics, from open source
programming languages and technologies, mobile application development,
and web development to Java programming and more.
Linux for
Developers
Jumpstart Your Linux Programming Skills

William “Bo” Rothwell

Boston • Columbus • Indianapolis • New York • San Francisco • Amsterdam


Cape Town Dubai • London • Madrid • Milan • Munich • Paris • Montreal
Toronto • Delhi • Mexico City Sao Paulo • Sidney • Hong Kong • Seoul
Singapore • Taipei • Tokyo
Many of the designations used by manufacturers and sellers to distinguish their products Editor-in-Chief
are claimed as trademarks. Where those designations appear in this book, and the pub- Mark Taub
lisher was aware of a trademark claim, the designations have been printed with initial capital
Executive Editor
letters or in all capitals.
Debra Williams
The author and publisher have taken care in the preparation of this book, but make no Cauley
expressed or implied warranty of any kind and assume no responsibility for errors or Development Editor
omissions. No liability is assumed for incidental or consequential damages in connection Chris Zahn
with or arising out of the use of the information or programs contained herein.
Managing Editor
For information about buying this title in bulk quantities, or for special sales opportunities Sandra Schroeder
(which may include electronic versions; custom cover designs; and content particular to
your business, training goals, marketing focus, or branding interests), please contact our Senior Project
Editor
corporate sales department at [email protected] or (800) 382-3419.
Lori Lyons
For government sales inquiries, please contact [email protected]. Project Manager
For questions about sales outside the U.S., please contact [email protected]. Dhayanidhi
Copy Editor
Visit us on the Web: informit.com/aw
Paula Lowell
Library of Congress Control Number: 2017932512 Indexer
Copyright © 2017 Pearson Education, Inc. Cheryl Lenser

All rights reserved. Printed in the United States of America. This publication is protected by Proofreader
copyright, and permission must be obtained from the publisher prior to any prohibited SathishKumar
reproduction, storage in a retrieval system, or transmission in any form or by any means, Technical
electronic, mechanical, photocopying, recording, or likewise. For information regarding Reviewers
permissions, request forms and the appropriate contacts within the Pearson Education Matthew Helmke
Global Rights & Permissions Department, please visit www.pearsoned.com/permissions/. Keith Wright
ISBN-13: 978-0-13-465728-8 Editorial Assistant
Kim Boedigheimer
ISBN-10: 0-13-465728-4
Cover Designer
1 17 Chuti Prasertsith
Compositor
codeMantra

“A best friend is the only one that walks into your life when
the world has walked out.”
— Shannon L. Alder

Thank you, Sarah, my love and my wife, for walking


into my life.

“Strong people don't put others down... They lift them up.”
— Michael P. Watson

Thank you, Mom and Dad, for being supportive.

“Fall seven times, stand up eight.”


— Japanese Proverb

Thank you, Julia, for being understanding.



Contents at a Glance
Preface xii

I: Open Source Software 1


1 Introduction to Open Source Software 3

II: Linux Essentials 11


2 Introduction to Linux 13

3 The Filesystem 29

4 Essential Commands 47

5 Text Editors 67

6 System Administration 83

III: Linux Programming Languages 95


7 Overview of Linux Programming Languages 97

8 BASH Shell Scripting 111

9 Perl Scripting 119

10 Python Scripting 131

11 C, C++, and Java 139

IV: Using Git 147


12 Git Essentials 149

13 Manage Files with Git 161

14 Manage Differences in Files 173

15 Advanced Git Features 183

Index 189
Contents

Preface xii

I: Open Source Software 1

1 Introduction to Open Source Software 3


Defining Source Code 3
Closed Source 4
Open Source 5
“Free” Software 5
Choosing Open Source Licensing 7
Options 8
Key Terms 8
Examples 8
Useful Links 9
Summary 10

II: Linux Essentials 11

2 Introduction to Linux 13
Accessing a Linux System 13
Choosing the Right Distribution 14
Logging In 15
Using the GUI 18
Basic Command-Line Execution 21
Command-Line Structure 22
Getting Help 22
Summary 28

3 The Filesystem 29
Understanding the Filesystem 29
Learning the Most Used Directories 30
Naming Considerations 30
Navigating the Filesystem 31
Managing the Filesystem 33
Managing Directories 36
Managing Files 37
Summary 45
viii Contents

4 Essential Commands 47
Command-Line Tools 47
Viewing Files 48
Finding Files 52
Comparing Files 54
Shell Features 55
Permissions 57
Developer Tools 59
File Compression Commands 59
The grep Command 62
Summary 66

5 Text Editors 67
The vi Editor 67
Why Learn vi? 68
What Is vim? 68
Essential vi Commands 69
Additional Editors 79
Emacs 79
gedit and kwrite 81
nano and joe 81
lime and bluefish 82
Summary 82

6 System Administration 83
Essential Tasks 83
Gaining Access to the Root Account 84
Displaying Disk Usage 86
Managing Software 88
Listing and Finding Software 89
Installing Software 90
User Accounts 91
Adding User Accounts 91
Modifying User Accounts 92
Deleting User Accounts 93
Understanding Groups 93
Managing Groups 93
Summary 94
Contents ix

III: Linux Programming Languages 95

7 Overview of Linux Programming Languages 97


Scripting Languages 97
BASH Shell Scripting 98
Perl Scripting 99
Python Scripting 100
Additional Scripting Languages 101
Compiled Languages 107
C Programming Basics 107
C++ Programming Basics 108
Java Programming Basics 108
IDEs 108
Summary 109

8 BASH Shell Scripting 111


Basics of BASH Scripting 111
Conditional Expressions 113
Integer Comparisons 115
File Test Comparisons 115
Flow Control Statements 115
The while loop 116
The for Loop 116
The case Statement 117
User Interaction 117
Additional Information 118
Summary 118

9 Perl Scripting 119


Basics of Perl Scripting 119
Executing Perl Code 120
Additional Perl Documentation 121
Variables and Values 122
Flow Control 124
Conditions 126
Additional Features 128
Summary 130
x Contents

10 Python Scripting 131


Basics of Python Scripting 131
Executing Python Code 132
Additional Documentation 133
Variables and Values 133
Flow Control 136
Conditions 137
Additional Features 137
Summary 138

11 C, C++, and Java 139


Understanding System Libraries 139
Managing Shared Library Files 140
Viewing Shared Library Files 142
Building Packages 142
Building RPM Packages 142
Building Debian Packages 145
Exploring Java Installation and Basics 145
Summary 146

IV: Using Git 147

12 Git Essentials 149


Version Control Concepts 149
The First Generation 149
The Second Generation 149
The Third Generation 151
Installing Git 154
Git Concepts and Features 155
Git Stages 155
Choosing Your Git Repository Host 156
Configuring Git 157
Summary 160

13 Manage Files with Git 161


Basic Configuration 161
git status 162
Handling a Multiple Location Situation 165
Contents xi

Telling Git to Ignore a File 166


Removing Files 168
Handling Branches 169
Pushing Branches 171
Summary 171

14 Manage Differences in Files 173


Executing Diffs 173
Dealing with White Space 175
Comparing Branches 176
Merging Files 178
Summary 182

15 Advanced Git Features 183


Managing Repositories 183
Getting Content from the Remote Server 184
Connecting via SSH 186
Patching 187
Summary 188

Index 189
Preface
When I envisioned this book, I thought of it as the beginning of a journey. Your exact starting
point on this journey may differ from that of others, but the purpose of this book is to provide
you with what you need to know to start developing software on a Linux Operating System.

Some readers will already have software developing experience on Windows-based platforms.
For those folks, this book should serve as a guide to how software development differs on Linux
from the platform you are used to developing on.

Perhaps you already work in Linux, but want to start writing code. Again, this book will
provide you with an excellent starting point for that journey.

The book is organized into four parts.

■ Part I, “Open Source Software,” contains a single chapter—Chapter 1, “Introduction to


Open Source Software.” You learn about open source software, including its advantages
over closed source software, as well as some essentials regarding software licenses.
■ In Part II, “Linux Essentials,” you are introduced to the Linux operating system. The goal
of this part is to provide you with the key knowledge that software developers need to
know while working in Linux. This includes both end user and administration topics.
The chapters in this part include the following:
■ Chapter 2, “Introduction to Linux.” In this chapter you learn the basics of Linux,
including how to access a Linux system, how to use a Linux-based GUI, and basic
command-line execution.
■ Chapter 3, “The Filesystem.” This chapter focuses on how the files are organized in
Linux. You are introduced to filesystem concepts, learn how to navigate the filesystem,
and learn how to manage the filesystem.
■ Chapter 4, “Essential Commands.” In this chapter you learn a variety of Linux
commands that are critical for any developer to know.
■ Chapter 5, “Text Editors.” As a developer, you need to know how to edit files. This
chapter focuses on the vi editor, a common text editor in both Linux and Unix. You
are also introduced to additional Linux editors.
■ Chapter 6, “System Administration.” It is helpful to know how to perform system
administration tasks, even as a developer. You learn how to add software and
administer users in this chapter.
■ Part III, “Linux Programming Languages,” provides an overview of different programming
languages available in Linux. You have a lot of choices here! The goal here isn't to teach
you everything about each language but to introduce you to many of them so you can
decide which language will work best for you.

■ Chapter 7, “Overview of Programming Languages.” This chapter provides an overview


of programming languages with the focus on distinguishing between scripting
languages and structured (or compiled) languages.
Preface xiii

■ Chapter 8, “BASH Shell Scripting.” In this chapter you are introduced to the BASH
shell language. You learn how to create code that interacts with users as well as other
features of the BASH shell programming language.
■ Chapter 9, “Perl Scripting.” The focus of this chapter is how to program in the Perl
scripting language. Topics include flow control and variable usage.
■ Chapter 10, “Python Scripting.” You learn the basics of Python scripting in this
chapter, including the large variety of Python variable types, and how to reuse code
and flow control.
■ Chapter 11, “C, C++, and Java.” In this chapter you learn the essentials to create C,
C++, and Java code on Linux-based systems.
■ Lastly, Part IV, “Using GIT,” covers a very popular software revision control product called
Git. Using a revision control product, especially when working with teams of developers,
can save a lot of time, money, and effort.
■ Chapter 12, “GIT Essentials.” In this chapter you learn the concepts of GIT. Topics
include revision control concepts, GIT installation, and GIT features.
■ Chapter 13, “Manage Files with GIT.” In this chapter you learn how to use GIT features
such as staging, committing, and branches.
■ Chapter 14, “Manage Differences in Files.” The focus of this chapter is on how to deal
with different versions of files. You learn how to execute diffs (differences in files) and
merge files.
■ Chapter 15, “Advanced GIT Features.” You learn how to manage GIT repositories and
perform patching in this chapter.

Good luck in your journey!

—William “Bo” Rothwell


December 22, 2016

Register your copy of Linux for Developers at informit.com for convenient access to
downloads, updates, and corrections as they become available. To start the registration
process, go to informit.com/register and log in or create an account. Enter the product
ISBN 9780134657288 and click Submit. Once the process is complete, you will find any
available bonus content under “Registered Products”.
Acknowledgments
Thanks to all who helped me put this book together. As any decent author will tell you, there
are many, many hours put into a publication like this, which were the results of other people’s
efforts and dedication.

Keith Wright and Matthew Helmke, thank your technical reviews. There is no doubt this is a
much better book than my original effort because of your feedback.

Chris Zahn: I couldn't have asked for a better editor. You make me look like I can put together a
coherent sentence—no small feat!

Debra Williams Cauley, thanks for seeing the value and providing a guiding hand throughout
this process.
About the Author
At the impressionable age of 14, William “Bo” Rothwell crossed paths with a TRS-80 Micro
Computer System (affectionately known as a “Trash 80”). Soon after, the adults responsible for
Bo made the mistake of leaving him alone with the TSR-80. He immediately dismantled it and
held his first computer class, showing his friends what made this “computer thing” work.

Since this experience, Bo’s passion for understanding how computers work and sharing this
knowledge with others has resulted in a rewarding career in IT training. His experience includes
Linux, Unix, and programming languages such as Perl, Python, Tcl, and BASH. He is the
founder and lead instructor of One Course Source, an IT training organization.
This page intentionally left blank
I
Open Source Software

One of the most important questions you need to answer when creating
software is, “Under what type of license will this software be released?”
Arriving at that answer can be a difficult journey.
You must determine what sort of protection you want to place on your
code as well as what you will allow others to do with the software that you
create. This part includes just one chapter, focusing on helping you decide
how to license your software. In this chapter, you learn the following:
■ The difference between closed and open source software
■ Open source protection concepts
■ The difference between primary open source licenses
This page intentionally left blank
1
Introduction to Open
Source Software

You have created an awesome program, and now you want to make it available to the public.
Now comes an important decision to make: what license to apply to your software.

This decision will have several important impacts, including the following:

■ How users can use your software


■ Whether the code is visible to others or “hidden” from plain sight
■ Whether other developers can use the code to create their own programs
■ Whether others can sell (or resell) the program

Disclaimer
License issues can be complex and have a significant impact on how your software is used.
The discussion in this book is designed to provide you with a basic understanding of different
licenses but is not intended to provide any legal advice. The author of this book does not
intend to provide any legal advice. Always consider consulting proper legal advice before making
a decision regarding software licenses.

Defining Source Code


Most likely the first question you need to answer is, “Will this be closed source software or open
source software?” To answer this question, you first need to understand what source code is.

Software consists of a collection of instructions that are written in a programming language.


Dozens of different languages exist, including C, C++, Java, Perl, Python, and many others.
This collection of instructions is referred to as source code. See Figure 1.1 for a demonstration
of source code written in C.
4 Chapter 1 Introduction to Open Source Software

/* Hello World program */

#include<stdio.h>

main()
{
printf("Hello World");

Figure 1.1 Source code written in C

Typically, you can’t use this source code directly to run your program. Most languages require
a compile process in which the source code is converted into instructions that the operating
system can understand. The result is data that looks like garbage to a human but makes sense
to the operating system. See Figure 1.2 for a demonstration of source code that is converted
into compiled code.

/* Hello World program */

#include<stdio.h>

main()
{
printf("Hello World");

Figure 1.2 Example of source code converted to compiled code

If you choose to license your software as closed source, then you only provide the compiled
code to customers. Software open source licenses include access to the original source code.

Closed Source
Also called proprietary software, the purpose of closed source software is to keep the source
code a closely guarded secret. The idea is that if others can see the source code, then the source
code may be copied and illegally used. As a result, competitors of the organization that created
the software might end up having a negative impact on the financials of the organization that
created the software. As you can imagine, copying someone else’s software is much cheaper
than creating your own software.

Often the term closed source is used in place of the term commercial software, but this isn’t
accurate. Commercial software must be purchased in order to use it. Both closed and open
Defining Source Code 5

source software can be commercialized; the specific license determines whether the software is
commercial or “free.”1

Examples of closed source software include:

■ Microsoft Windows
■ Adobe Photoshop
■ Apple macOS

Open Source
Software is considered open source when both the compiled and source versions of the code
are made available.2 The software license from the copyright holder grants certain rights to
view, modify, and distribute the software. A variety of open source licenses are available that
enable you to pick which rights are granted.

Although some open source software is free, in the economic sense, that isn’t a requirement
for open source software to be considered open source. Open source refers to the capability to
access the source code, not how the software can be used or any costs associated with
the software.

Common examples of open source software include:

■ Linux3
■ Apache HTTP Server
■ Firefox
■ Git
■ Openoffice.org

“Free” Software
The concept of free in regards to software is not necessarily agreed upon by all. Some people
might consider free software to be software without cost. In other words, it doesn’t cost you
anything to obtain and use the software.

1 There is a reason why I put free in quotes. As you will soon read, the term free must be legally
defined in regards to software use.
2 Actually, some open source projects only provide the source code and leave it to the people who use
the software to compile it. Additionally, some languages don’t have a compile process, so a program
written in such a language would only include the source code.
3 Technically, Linux refers to the Linux kernel, which is the heart of the Linux operating system. Most of
the software found on Linux operating systems is also open source, but this isn’t a requirement for
inclusion in the OS.
6 Chapter 1 Introduction to Open Source Software

However, what does it mean to use software? Does this mean that the software can be used
in any way that the user wants, or are there some restrictions? Can this software be used
anywhere in the world, or are there geographic limitations? Are you free to modify the software
and distribute free copies of the modified format, or are these actions prohibited? As you can
see, free in terms of software isn’t so clear cut.

One way of defining the term free is to use the definition created by Richard Stallman and
published by Free Software Foundation (FSF):

“The word ‘free’ in our name does not refer to price; it refers to freedom. First, the freedom to
copy a program and redistribute it to your neighbors, so that they can use it as well as you.
Second, the freedom to change a program, so that you can control it instead of it controlling
you; for this, the source code must be made available to you.”

Note that the preceding definition mandates that free software also be open source software.
Not everyone agrees with this, and you will find some closed source freeware on the market.

Another way to define the term free is by the Four Freedoms, as defined by the Free Software
Foundation:

■ Freedom 0: “The freedom to run the program as you wish, for any purpose.”
■ Freedom 1: “The freedom to study how the program works and change it so it does your
computing as you wish. Access to the source code is a precondition for this.”
■ Freedom 2: “The freedom to redistribute copies so you can help your neighbor.”
■ Freedom 3: “The freedom to distribute copies of your modified versions to others. By
doing this you can give the whole community a chance to benefit from your changes.
Access to the source code is a precondition for this.”

These Four Freedoms are at the heart of what is referred to as FOSS (Free and Open Source
Software).4 FOSS attempts to address the challenge of defining what constitutes “free software.”
Note that the definition highlights the fact that not all free software is open source. Conversely,
not all open source software is licensed with the Four Freedoms.

Understanding the complex world of open source software and what part “freedom” plays
takes some time. See Figure 1.3 for a graphic that includes the various components of open
source software.

4 Often used interchangeably with the term FLOSS (Free/Libre and Open Source Software).
Choosing Open Source Licensing 7

License Source Code Executable Code

Modify Developers Documentation

Freedom Support

Distribute Utilize

Community Users

Figure 1.3 Visualize the Open Source community

The graphic in Figure 1.3 highlights the complex combination of elements that make up open
source software. You can see that the developers write the source code, create documentation,
and provide support. However, the users of the software are often major components in
this process as well. In fact, some open source software includes little or no support or
documentation from the developer, but rather relies on a strong user base (the community) to
provide these critical elements.

Note that the freedoms to modify, distribute, and utilize are also depicted in the diagram in
Figure 1.3. Additionally, the software license is what provides these freedoms.

Choosing Open Source Licensing


Ultimately you need to decide whether to license your software as closed source or open
source. Part of that decision will be based on specifics regarding licenses, a topic that this
chapter covers further. However, you should consider some general benefits to creating open
source software:
■ Open source tends to invoke trust. The reason is that others can see exactly what the
software does by looking at the source code.
■ Open source can result in better code and less development time. With other
developers reviewing your code and providing feedback, bug fixes, and improvements are
created more rapidly, often at no cost to you.
■ Open source that is “free” can increase the scope of the user base. More users are
willing to try software that is free rather than paying money to test out new software.
■ You can still make money from “free” open source software. Other available sources
of revenue include training, support contracts, and additional services.
8 Chapter 1 Introduction to Open Source Software

Options
Dozens of standard open source licenses and a large number of custom licenses are available.
Typically, they fall into one of the following four categories:
■ Standard—Regular licenses that are often reused for other software products. Typically,
these are specific to a country and many of them center around United States or
European laws.
■ International—Regular licenses that are often reused for other software products. Unlike
the standard licenses, these licenses are designed to be used throughout the world.
■ Special purpose—Licenses that are written for specific cases.
■ Nonreusable—Licenses that are not permitted to be used for any software product
besides the product the license was written for.

Key Terms
Regarding open source software licenses, you should understand a couple of key terms. One
term is copyleft, which ensures intellectual property (IP) can be copied or distributed as open
source software. The two forms of copyleft are
■ Strong—All derived works must maintain original copyleft.
■ Weak—Derived works don’t need to follow the original restrictions.

Another important open source license term is permissiveness. This term is related to derived
works and whether mixed licenses are allowed. The two forms of permissiveness are
■ Strict—Limited mixed licenses (no closed source or more permissive licenses)
■ Permissive—Allows mixed licenses

Examples
The following list describes some of the more popular open source licenses:

■ Apache License 2.0:


■ Very permissive
■ Non-copyleft
■ Use for any purpose
■ Distribute and modify
■ Allows derived works
■ MIT License:
■ Also known as X11 license
■ Similar to Apache license 2.0
Choosing Open Source Licensing 9

■ Very permissive
■ Non-copyleft
■ Use for any purpose
■ Must keep copyright message
■ User must agree that no warranty is provided
■ GNU General Public License (GPL):
■ Strong copyleft
■ Strict permissiveness
■ All derived works must be GPL
■ Two versions: v2 and v3
■ BSD License:
■ Very permissive
■ Non-copyleft
■ Three types:
■ Two-clause—Same as MIT
■ Three-clause—Derived work not endorsed by original holder
■ Four-clause—Advertising must acknowledge original holder

Useful Links
Hopefully, you now have a basic understanding of open source software and licenses. Clearly,
the topic is not a simple one, and spending additional time researching which license is the
best for your project and organization is important. In addition to consulting a legal expert,
you should find the following URL resources helpful:
■ http://choosealicense.com—This tool uses a series of questions to help you determine
which license works best for your situation. It provides a good start, but you should also
consult a legal expert before making a final decision.
■ http://fsf.org—The website for the Free Software Foundation offers a great deal of useful
information regarding open source software and licenses.
■ http://opensource.org—This is another great resource to learn more about open source
licenses.

Open Source Humor


Open source: free as in “free speech,” not as in “free beer.” —Anonymous
10 Chapter 1 Introduction to Open Source Software

Summary
In this chapter you learned the differences between closed and open source software.
The concept of free software was also explored. Lastly, you learned about some of the basics of
open source licenses. At this point you should be able to start the process of determining what
type of license under which to release your software. However, remember that you want to put
a lot of time, effort, and thought into this decision before releasing your software because these
licenses can have a powerful effect on how your software will be used by the community.
II
Linux Essentials

If you are going to develop software on a Linux-based operating system


(OS), then it will be important for you to know how to interact with and
manage the OS. The next five chapters are devoted to providing you with
a solid foundation in the tools and features of Linux.
These chapters focus specifically on what you should know about Linux
as a developer. Linux itself is a huge topic with large volumes devoted to
exploring the OS. The goal here is to provide you with what you need to
know as a developer, not as a regular end user or administrator.1
The next five chapters cover the following:
■ The core concepts of the Linux operating system
■ What Linux distributions are
■ How to manage the Linux filesystem
■ Critical Linux commands that all software developers should know
■ Essential system administration tasks that will be useful for you to
know as a developer

1 Certainly, the topics presented will also be useful to these sets of Linux users.
Exploring the Variety of Random
Documents with Different Content
“That they are married, sir,” answered the little Duchess—“wooed
and won and wedded, sir! Which is great joy to me, for our Herminia
hath found a man shall rule her rigorously at last; in a word, master
her megrims, control, curb and constrain her contrariness as only a
masterful man might.”
“Wooed and won ... rule rigorously,” murmured Sir Hector, “curb
and constrain——”
“Well, sir, well, why must you mop and mow and mutter like a
mere male? Wouldst not do the same, sir?”
Then, looking down into the little Duchess’s strangely youthful
eyes, Sir Hector emitted that sound to which no one but a true-born
Scot may give utterance, and which, so far as poor words go, may
be roughly translated thus:
“Umph-humph!” quoth Sir Hector Lauchlan MacLean.

A FEW BOOKS
OF GENERAL INTEREST
obtainable from any bookshop, and
published by Sampson Low, Marston & Co.,
Ltd., 100 Southwark Street, London, S.E. 1

RUBÁIYÁT OF OMAR KHÁYYÁM


Translated by EDWARD FITZGERALD
Introduction by JOSEPH JACOBS
Designs by FRANK BRANGWYN
Ordinary cloth edition, 8¼″ × 5½″. 6s. net.
A beautiful and tasteful edition of this great classic. In Fitzgerald’s
translation, it has been beautified at the hands of that wonderful
artist, Frank Brangwyn, A.R.A., in colour and monochrome. Every
verse is in an appropriately designed border, in a pleasant grey ink,
and in addition, there are four full colour page plates conveying with
astonishing reality the poem’s atmosphere. Mr. Brangwyn has, too,
designed special end-papers. There is a scholarly introduction by
Joseph Jacobs, and the book also contains a short life of the
“Astronomer-Poet of Persia,” and a few explanatory notes on the
poem. The ordinary edition of the book is bound in strong blue cloth
boards, with design on front cover in gold, but the volume is also
published in six other editions, in sumptuous styles, in various kinds
of leathers and bindings, for presentation purposes chiefly. Editions
are also now published in various kinds of leather, illustrated by Fred
Adlington.
Send for Prospectus

CHRISTMAS FIRESIDE STORIES


by
P. C. ASBJÖRNSEN
Demy 8vo, cloth. 5/- net.
A children’s book of folk and fairy tales from Norway, written in a
delightfully simple style, reminiscent of Hans Andersen and Grimm.
The book is full of pictures in black and white, and would form a
handsome present for the younger child.
Send for Prospectus

THREE HUNDRED AND ONE THINGS A BRIGHT


GIRL CAN DO
by JEAN STEWART
Large Crown 8vo, cloth. 6/- net.
How to do—how to make practically everything a girl can wish,
outdoors and indoors, winter and summer! There is not a girl in this
country to-day between six and sixteen who would not feel
tremendously richer and happier for a copy of this book—it is a
liberal education in itself. Hockey; lawn tennis; croquet; swimming,
rowing, sculling, golf, hopscotch, dancing; camping; gardening;
sketching and painting; stencilling; architecture; keeping pets;
palmistry and fortune-telling; model theatres and plays; dolls’
houses; binding; raffia work; knitting and netting; crocheting; sewing;
indoor games; sweet and drink making; how to make countless
articles—so the list goes on almost unendingly, amusement for hand
and brain. There is no better medicine for “grumpiness,” “dumps,” or
that general fed-up and run-down feeling—a dose taken frequently
between meals will keep a girl in good health and spirits.
Send for Prospectus

THREE HUNDRED THINGS A BRIGHT BOY CAN


DO
by MANY HANDS
Large Crown 8vo, cloth. 6/- net.
It is evident that many hands make light the work—in this case
many hands have succeeded in making bright this work. The volume
—a good, big, strong one of 440 pages—is uniform in style with
Three Hundred and One Things a Bright Girl Can Do.
The boys have no reason for worrying because the girls have one
more thing to do (a woman’s work is never done, anyway) for herein
they will find treasure in bucketsful. Training; gymnastics; walking,
running and jumping; hockey and Indian clubs; swimming, rowing
and water-polo; paperchasing, football, golf and boxing; skating;
angling; canoeing and yachting; butterfly and moth collecting;
aquariums; outdoor games; gardening; drawing and painting;
ventriloquism; magic and conjuring; keeping pets; fireside
amusements; experimenting and science; things a boy can make—
all this and more dealt with by expert authors who know what boys
want to do. This book ought to be called “The Boy’s Golden Treasury
of What to Do—and How to Do It.”
Send for Prospectus

HOBBIES FOR BOYS


by JACQUES REINDORP
Demy 8vo, cloth. 5/- net.
An ideal present for any boy, especially the mechanically-minded
youngster. A few boys from “The Toolhouse Club” build their
clubroom, and proceed to do some really interesting things: light the
clubhouse with electricity, make a wireless set, phantascope, a
telephone, do some wood-carving; but, best of all, they build a full-
size boat from beginning to end, and finally go on voyages of
exploration up their river.
Send for Prospectus

GODS OF MODERN GRUB STREET


by
A. ST. JOHN ADCOCK
Thirty-two Portraits by E. O. HOPPÉ
Crown 8vo, cloth. 7/6 net.
Everyone is curious to know how the heights of Mount Olympus
have been gained, and especially is this interest aroused in the case
of our contemporary novelists, poets and dramatists. Often they are
but a name, a nebulous entity emerging out of our enjoyment of their
works. Such healthy curiosity is satisfied by this book, which makes
a double appeal, the photographs accompanying the essays creating
an atmosphere of very real intimacy. The name of the well-known
author and critic, Mr. A. St. John Adcock, on the title page is ample
warrant that the essays are thoroughly critical and informing, but
their chief aim is to complement each portrait with a sketch of the
sitter’s personality, to tell the story of his career and indicate to what
extent the facts of his life have influenced his outlook and his work:
Mr. E. O. Hoppé is admittedly the most finished artist among
present-day photographers. To sit for him is a distinction in itself, and
we find that in the camera portraits included in the volume he has
given us a series of 32 studies of great charm and distinction. The
selection is of wide range, and perhaps its distinguishing
characteristic is the capacity shown by both author and artist to get
under the skin of each subject.
Send for Prospectus

PALESTINE PICTURED; or, WHERE HE DWELT


by
ALFRED T. SCHOFIELD, M.D., M.R.C.S.E.
Crown 8vo, cloth. 6/- net.
A graphic and yet simple description of the Holy Land. Short of
spending a long period there and traversing it again and again in
leisurely fashion, it is doubtful if one could gain in any other way so
thorough an understanding of the places, manners and customs as
by a study of this book. The Biblical allusions are so well brought out
and illustrated that one begins to think of the various places
mentioned with the same familiarity that we have with places in our
own country. The marked map, following the footsteps of our Lord,
and the forty-three photographic views, add greatly to the feeling of
familiarity.
Send for Prospectus
THE STORY OF ST. PAUL’S LIFE AND LETTERS
by
J. PATERSON SMYTH, B.D., Litt.D., LL.D., D.C.L.
Crown 8vo, cloth. 3/6 net.
This life is by far the most interesting life of St. Paul yet written.
“Put yourself in his place,” is the note struck, and this human note is
sustained throughout. It brings out the personal interest in the life of
St. Paul, from his boyhood, playing on the wharves of Tarsus, to the
day when, a lonely old saint of God, he laid down his tired life at the
headsman’s block in Rome and entered on his wonderful new
adventure in the Hereafter. A special feature is the attempt made to
place the epistles in their proper place in St. Paul’s life, in which the
author has been so successful that they seem to form one
harmonious whole.
Send for Prospectus

BOOKS BY JEFFERY FARNOL


NEW CHEAP EDITION AT 4s. NET
THE BROAD HIGHWAY
(A romance of Kent)
THE AMATEUR GENTLEMAN
(A romance of the Regency)
THE MONEY MOON
(A romance of to-day)
CHRONICLES OF THE IMP (MY LADY CAPRICE)
BELTANE THE SMITH
(A mediæval romance)
THE HONOURABLE MR. TAWNISH
(The rollicking days of the eighteenth century)
THE DEFINITE OBJECT
(A romance of New York)
OUR ADMIRABLE BETTY
(An early Georgian story)
BLACK BARTLEMY’S TREASURE
(A stirring pirate story)
MARTIN CONISBY’S VENGEANCE
(Continues Black Bartlemy’s adventures)
PEREGRINE’S PROGRESS
(In the author’s original vein)
and Mr. Farnol’s latest success:
SIR JOHN DERING
(A Romantic Comedy. 7s. 6d. net.)
BOUND IN CLOTH, CROWN 8VO, PICTURE WRAPPER IN COLOUR BY C. E.
BROCK
OBTAINABLE FROM ANY BOOKSELLER
SAMPSON LOW, MARSTON & Co., Ltd., PUBLISHERS
100 SOUTHWARK STREET, LONDON, S.E. 1.
*** END OF THE PROJECT GUTENBERG EBOOK SIR JOHN
DERING: A ROMANTIC COMEDY ***

Updated editions will replace the previous one—the old editions


will be renamed.

Creating the works from print editions not protected by U.S.


copyright law means that no one owns a United States copyright
in these works, so the Foundation (and you!) can copy and
distribute it in the United States without permission and without
paying copyright royalties. Special rules, set forth in the General
Terms of Use part of this license, apply to copying and
distributing Project Gutenberg™ electronic works to protect the
PROJECT GUTENBERG™ concept and trademark. Project
Gutenberg is a registered trademark, and may not be used if
you charge for an eBook, except by following the terms of the
trademark license, including paying royalties for use of the
Project Gutenberg trademark. If you do not charge anything for
copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such
as creation of derivative works, reports, performances and
research. Project Gutenberg eBooks may be modified and
printed and given away—you may do practically ANYTHING in
the United States with eBooks not protected by U.S. copyright
law. Redistribution is subject to the trademark license, especially
commercial redistribution.

START: FULL LICENSE


THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK

To protect the Project Gutenberg™ mission of promoting the


free distribution of electronic works, by using or distributing this
work (or any other work associated in any way with the phrase
“Project Gutenberg”), you agree to comply with all the terms of
the Full Project Gutenberg™ License available with this file or
online at www.gutenberg.org/license.

Section 1. General Terms of Use and


Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand,
agree to and accept all the terms of this license and intellectual
property (trademark/copyright) agreement. If you do not agree to
abide by all the terms of this agreement, you must cease using
and return or destroy all copies of Project Gutenberg™
electronic works in your possession. If you paid a fee for
obtaining a copy of or access to a Project Gutenberg™
electronic work and you do not agree to be bound by the terms
of this agreement, you may obtain a refund from the person or
entity to whom you paid the fee as set forth in paragraph 1.E.8.

1.B. “Project Gutenberg” is a registered trademark. It may only


be used on or associated in any way with an electronic work by
people who agree to be bound by the terms of this agreement.
There are a few things that you can do with most Project
Gutenberg™ electronic works even without complying with the
full terms of this agreement. See paragraph 1.C below. There
are a lot of things you can do with Project Gutenberg™
electronic works if you follow the terms of this agreement and
help preserve free future access to Project Gutenberg™
electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright
law in the United States and you are located in the United
States, we do not claim a right to prevent you from copying,
distributing, performing, displaying or creating derivative works
based on the work as long as all references to Project
Gutenberg are removed. Of course, we hope that you will
support the Project Gutenberg™ mission of promoting free
access to electronic works by freely sharing Project
Gutenberg™ works in compliance with the terms of this
agreement for keeping the Project Gutenberg™ name
associated with the work. You can easily comply with the terms
of this agreement by keeping this work in the same format with
its attached full Project Gutenberg™ License when you share it
without charge with others.

1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.

1.E. Unless you have removed all references to Project


Gutenberg:

1.E.1. The following sentence, with active links to, or other


immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project
Gutenberg™ work (any work on which the phrase “Project
Gutenberg” appears, or with which the phrase “Project
Gutenberg” is associated) is accessed, displayed, performed,
viewed, copied or distributed:

This eBook is for the use of anyone anywhere in the United


States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it
away or re-use it under the terms of the Project Gutenberg
License included with this eBook or online at
www.gutenberg.org. If you are not located in the United
States, you will have to check the laws of the country where
you are located before using this eBook.

1.E.2. If an individual Project Gutenberg™ electronic work is


derived from texts not protected by U.S. copyright law (does not
contain a notice indicating that it is posted with permission of the
copyright holder), the work can be copied and distributed to
anyone in the United States without paying any fees or charges.
If you are redistributing or providing access to a work with the
phrase “Project Gutenberg” associated with or appearing on the
work, you must comply either with the requirements of
paragraphs 1.E.1 through 1.E.7 or obtain permission for the use
of the work and the Project Gutenberg™ trademark as set forth
in paragraphs 1.E.8 or 1.E.9.

1.E.3. If an individual Project Gutenberg™ electronic work is


posted with the permission of the copyright holder, your use and
distribution must comply with both paragraphs 1.E.1 through
1.E.7 and any additional terms imposed by the copyright holder.
Additional terms will be linked to the Project Gutenberg™
License for all works posted with the permission of the copyright
holder found at the beginning of this work.

1.E.4. Do not unlink or detach or remove the full Project


Gutenberg™ License terms from this work, or any files
containing a part of this work or any other work associated with
Project Gutenberg™.
1.E.5. Do not copy, display, perform, distribute or redistribute
this electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the
Project Gutenberg™ License.

1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must, at
no additional cost, fee or expense to the user, provide a copy, a
means of exporting a copy, or a means of obtaining a copy upon
request, of the work in its original “Plain Vanilla ASCII” or other
form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.

1.E.7. Do not charge a fee for access to, viewing, displaying,


performing, copying or distributing any Project Gutenberg™
works unless you comply with paragraph 1.E.8 or 1.E.9.

1.E.8. You may charge a reasonable fee for copies of or


providing access to or distributing Project Gutenberg™
electronic works provided that:

• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using
the method you already use to calculate your applicable
taxes. The fee is owed to the owner of the Project
Gutenberg™ trademark, but he has agreed to donate
royalties under this paragraph to the Project Gutenberg
Literary Archive Foundation. Royalty payments must be
paid within 60 days following each date on which you
prepare (or are legally required to prepare) your periodic tax
returns. Royalty payments should be clearly marked as
such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4,
“Information about donations to the Project Gutenberg
Literary Archive Foundation.”

• You provide a full refund of any money paid by a user who


notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to
return or destroy all copies of the works possessed in a
physical medium and discontinue all use of and all access
to other copies of Project Gutenberg™ works.

• You provide, in accordance with paragraph 1.F.3, a full


refund of any money paid for a work or a replacement copy,
if a defect in the electronic work is discovered and reported
to you within 90 days of receipt of the work.

• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.

1.E.9. If you wish to charge a fee or distribute a Project


Gutenberg™ electronic work or group of works on different
terms than are set forth in this agreement, you must obtain
permission in writing from the Project Gutenberg Literary
Archive Foundation, the manager of the Project Gutenberg™
trademark. Contact the Foundation as set forth in Section 3
below.

1.F.

1.F.1. Project Gutenberg volunteers and employees expend


considerable effort to identify, do copyright research on,
transcribe and proofread works not protected by U.S. copyright
law in creating the Project Gutenberg™ collection. Despite
these efforts, Project Gutenberg™ electronic works, and the
medium on which they may be stored, may contain “Defects,”
such as, but not limited to, incomplete, inaccurate or corrupt
data, transcription errors, a copyright or other intellectual
property infringement, a defective or damaged disk or other
medium, a computer virus, or computer codes that damage or
cannot be read by your equipment.

1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES -


Except for the “Right of Replacement or Refund” described in
paragraph 1.F.3, the Project Gutenberg Literary Archive
Foundation, the owner of the Project Gutenberg™ trademark,
and any other party distributing a Project Gutenberg™ electronic
work under this agreement, disclaim all liability to you for
damages, costs and expenses, including legal fees. YOU
AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE,
STRICT LIABILITY, BREACH OF WARRANTY OR BREACH
OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE
TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER
THIS AGREEMENT WILL NOT BE LIABLE TO YOU FOR
ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE
OR INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF
THE POSSIBILITY OF SUCH DAMAGE.

1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If


you discover a defect in this electronic work within 90 days of
receiving it, you can receive a refund of the money (if any) you
paid for it by sending a written explanation to the person you
received the work from. If you received the work on a physical
medium, you must return the medium with your written
explanation. The person or entity that provided you with the
defective work may elect to provide a replacement copy in lieu
of a refund. If you received the work electronically, the person or
entity providing it to you may choose to give you a second
opportunity to receive the work electronically in lieu of a refund.
If the second copy is also defective, you may demand a refund
in writing without further opportunities to fix the problem.

1.F.4. Except for the limited right of replacement or refund set


forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’,
WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR
ANY PURPOSE.

1.F.5. Some states do not allow disclaimers of certain implied


warranties or the exclusion or limitation of certain types of
damages. If any disclaimer or limitation set forth in this
agreement violates the law of the state applicable to this
agreement, the agreement shall be interpreted to make the
maximum disclaimer or limitation permitted by the applicable
state law. The invalidity or unenforceability of any provision of
this agreement shall not void the remaining provisions.

1.F.6. INDEMNITY - You agree to indemnify and hold the


Foundation, the trademark owner, any agent or employee of the
Foundation, anyone providing copies of Project Gutenberg™
electronic works in accordance with this agreement, and any
volunteers associated with the production, promotion and
distribution of Project Gutenberg™ electronic works, harmless
from all liability, costs and expenses, including legal fees, that
arise directly or indirectly from any of the following which you do
or cause to occur: (a) distribution of this or any Project
Gutenberg™ work, (b) alteration, modification, or additions or
deletions to any Project Gutenberg™ work, and (c) any Defect
you cause.

Section 2. Information about the Mission of


Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new
computers. It exists because of the efforts of hundreds of
volunteers and donations from people in all walks of life.
Volunteers and financial support to provide volunteers with the
assistance they need are critical to reaching Project
Gutenberg™’s goals and ensuring that the Project Gutenberg™
collection will remain freely available for generations to come. In
2001, the Project Gutenberg Literary Archive Foundation was
created to provide a secure and permanent future for Project
Gutenberg™ and future generations. To learn more about the
Project Gutenberg Literary Archive Foundation and how your
efforts and donations can help, see Sections 3 and 4 and the
Foundation information page at www.gutenberg.org.

Section 3. Information about the Project


Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-
profit 501(c)(3) educational corporation organized under the
laws of the state of Mississippi and granted tax exempt status by
the Internal Revenue Service. The Foundation’s EIN or federal
tax identification number is 64-6221541. Contributions to the
Project Gutenberg Literary Archive Foundation are tax
deductible to the full extent permitted by U.S. federal laws and
your state’s laws.

The Foundation’s business office is located at 809 North 1500


West, Salt Lake City, UT 84116, (801) 596-1887. Email contact
links and up to date contact information can be found at the
Foundation’s website and official page at
www.gutenberg.org/contact

Section 4. Information about Donations to


the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission
of increasing the number of public domain and licensed works
that can be freely distributed in machine-readable form
accessible by the widest array of equipment including outdated
equipment. Many small donations ($1 to $5,000) are particularly
important to maintaining tax exempt status with the IRS.

The Foundation is committed to complying with the laws


regulating charities and charitable donations in all 50 states of
the United States. Compliance requirements are not uniform
and it takes a considerable effort, much paperwork and many
fees to meet and keep up with these requirements. We do not
solicit donations in locations where we have not received written
confirmation of compliance. To SEND DONATIONS or
determine the status of compliance for any particular state visit
www.gutenberg.org/donate.

While we cannot and do not solicit contributions from states


where we have not met the solicitation requirements, we know
of no prohibition against accepting unsolicited donations from
donors in such states who approach us with offers to donate.

International donations are gratefully accepted, but we cannot


make any statements concerning tax treatment of donations
received from outside the United States. U.S. laws alone swamp
our small staff.

Please check the Project Gutenberg web pages for current


donation methods and addresses. Donations are accepted in a
number of other ways including checks, online payments and
credit card donations. To donate, please visit:
www.gutenberg.org/donate.

Section 5. General Information About Project


Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could
be freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose
network of volunteer support.

Project Gutenberg™ eBooks are often created from several


printed editions, all of which are confirmed as not protected by
copyright in the U.S. unless a copyright notice is included. Thus,
we do not necessarily keep eBooks in compliance with any
particular paper edition.

Most people start at our website which has the main PG search
facility: www.gutenberg.org.

This website includes information about Project Gutenberg™,


including how to make donations to the Project Gutenberg
Literary Archive Foundation, how to help produce our new
eBooks, and how to subscribe to our email newsletter to hear
about new eBooks.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like