This presentation is made by my group in our Computer and Increasing Productivity Course in 2nd term - 1st year - Computer and Systems Engineering Department - Faculty of Engineering - Alexandria University...
GOST TEAM
5. • Definition.
• 4 freedoms.
• GNU GPL (General Public License) license.
• open source vs. closed source.
• open source Examples
• Question!!
5
6. open source is an approach to
design, development, and distribution offering
practical accessibility to a product's source (goods
and knowledge).
http://en.wikipedia.org/wiki/Open_source 6
7. The freedom to run the program, for any purpose
(freedom 0).
The freedom to study how the program works, and adapt
it to your needs (freedom 1). Access to the source code is a
precondition for this.
The freedom to redistribute copies so you can help your
neighbor (freedom 2).
The freedom to improve the program, and release your
improvements (and modified versions in general) to the
public, so that the whole community benefits (freedom 3).
Access to the source code is a precondition for this.
eglug presentation on http://www.eglug.org 7
8. It has 3 versions and it simply means that if you distribute
copies of such a program, whether for free or for a fee, you
must:
Pass on to the recipients the same freedoms that you received.
Make sure that they, too, receive or can get the source code.
Show them these terms so they know their rights.
eglug presentation on http://www.eglug.org 8
9. Created normally for use Created to satisfy a need in
by those who want to use it. the market.
The source code to open source code for making the
software is available by all to software is kept a secret.
read.
no guarantee of good good documentation , legal
documentation or support. right against the company ,
getting help and support are
valid when you PAY .
software packages have Has lower security than
had a better security. Open source.
http://www.scienceinafrica.co.za/2004/january/software.htm 9
13. • Introduction
• Why to use SourceForge
• Tools of SourceForge
• CVS & SVN
• Demo.
• Alternatives of SourceForge.
• Some projects on sourceForge.
13
16. SourceForge.net is a source code repository. It
acts as a centralized location for software
developers to control and manage open
source software development free of charge.
SourceForge.net is operated by SourceForge,
Inc.
http://en.wikipedia.org/wiki/Source_forge 16
17. • VA Linux Systems, and VA Research, SourceForge
Inc, is the provider of the SourceForge Development
Intelligence application.
• The company is headquartered in Mountain
View, California.
• Founded in 1993 as VA Research graduate student
Larry Augustin & James Vera.
• They were one of the first computer vendors to offer
Linux as a pre-installed operating system.
http://en.wikipedia.org/wiki/SourceForge,_Inc. 17
18. They put seven persons in a room, and they
said, quot;All right, write us SourceForge – we’ll
provide you with Mountain Dew and pizzaquot;.
The developers crafted code for several
weeks, not sure how big or small the finished
project would need be
http://itmanagement.earthweb.com/cnews/article.php/3705731 18
19. When the site opened in November 1999,
growth was respectable. At the time, the term
“open source” was known only by those with
a deep technical background. Though the site
offered various free tools, only a small crowd
of projects registered by the end of the year.
http://itmanagement.earthweb.com/cnews/article.php/3705731 19
20. • Home to a sprawling universe of open source developers.
• It’s an intense hive of software creators.
• It contains about 180,000 project and 2 million user, covering every
conceivable computing function.
• Just as important, SourceForge is the place to see and be seen
• Its developers chatting with developers, sharing their stuff,
watching each other build
• Its a global community of coder, just joining to give birth to that
next line of Java or PHP or Perl.
• Developers are there primarily for the joy and pleasure of coding.
• They want to make themselves more marketable; developing a high
profile project boosts your job offers.
http://itmanagement.earthweb.com/cnews/article.php/3705731 20
21. • Contains the following features:
– code hosting
– Bug tracking
– web hosting
– wiki
– Shell server
– Mailing List
– Forum
– Announce
• And in VCS (Version Controlling System) contains:
– CVS
– SVN
– Bazaar
– Git
– Mercurial
http://en.wikipedia.org/wiki/Comparison_of_free_software_hosting_facilities# 21
23. • It is the management of changes to
documents, programs, and other information stored as
computer files. It is most commonly used in software
development, where a team of people may be
changing the same files.
• Changes are usually identified by a number or letter
code, termed the quot;revision numberquot;. For example, an
initial set of files is quot;revision 1quot;. When the first change
is made, the resulting set is quot;revision 2quot;, and so on.
Each revision is associated with a timestamp and the
person making the change. Revisions can be
compared, restored, and with some types of
files, merged.
http://en.wikipedia.org/wiki/Version_control_system 23
24. The codebase for a project is typically stored in a source control
repository. A source code repository is a place where large
amounts of source code are kept, either publicly or privately.
They are often used by multi-developer projects to handle
various versions and developers submitting various patches of
code in an organized fashion. CVS is a popular GNU project to
handle these issues and is common in open source projects.
http://en.wikipedia.org/wiki/Source_code_repository 24
25. CVS (Concurrent Versions System) is a free software revision
control system. Version control system software keeps track
of all work and all changes in a set of files, and allows several
developers (potentially widely separated in space and/or
time) to collaborate. Dick Grune developed CVS in the 1980s.
CVS has become popular in the open source software world
and is released under the GNU General Public License.
http://en.wikipedia.org/wiki/Concurrent_Versions_System 25
26. Dick created CVS to be able to cooperate with his
students Erik Baalbergen and Maarten Waage on the
ACK (Amsterdam Compiler Kit) C compiler. The three
of them had vastly different schedules (one student
was a steady 9-5 worker, the other was irregular, and
he could work on the project only in the evenings).
Their project ran from July 1984 to August 1985. CVS
was initially called cmt, for the obvious reason that it
allowed us to commit versions independently.
http://www.cs.vu.nl/~dick/CVS.html#History 26
27. • Subversion (SVN) is a version control system initiated in
2000 by CollabNet Inc. It is used to maintain current and
historical versions of files such as source code, web
pages, and documentation. Its goal is to be a mostly-
compatible successor to the widely used Concurrent
Versions System (CVS).
• Subversion is well-known in the open source community
and is used on many open source projects, including
Apache Software
Foundation, KDE, GNOME, GCC, Python, Ruby, Mono, Sour
ceForge.net and Tigris.org. Google Code also provides
Subversion hosting for their open source projects.
• Subversion is released under the Apache License, making it
free software.
http://en.wikipedia.org/wiki/Subversion_(software) 28
29. • It is the main tool used to upload your
projects (Source Code) on the sourceforge.net
• You can use it in your programming projects
(Mail Server :D) within your team
• Used as a backup for your projects and
assignments to give you the ability to access
them from any where.
31
31. • We made a demo to upload our 1st term
project (Library Management System), to
make it an open source project.
• We got this idea from our colleague Amr Nabil
who made it using GUI and uploaded it on
SourceForge.net and it was accepted and was
published under the GNU GPL License.
33
36. Tigris.org is an open source software
development community. It hosts software
development services such as web
hosting, mailing lists, issue tracking, and
Subversion revision control. It is hosted by
CollabNet. Subversion itself is hosted on
Tigris. Tigris competes with the more well-
known SourceForge, although it is primarily
focused on projects for collaborative software
development.
http://en.wikipedia.org/wiki/Tigris.org 38
37. • RubyForge is a collaborative software
development management system dedicated
to projects related Ruby programming
language. It was started in 2003 by Ruby
Central in an effort to help Ruby community
by providing a home for open source Ruby
projects.
• As of February 2009, it hosts more than 7,000
projects and has over 34,000 registered users.
http://en.wikipedia.org/wiki/RubyForge 39
38. JavaForge.com is a non profit and free open source
software development community with a hosting
portal for open source Java projects. It hosts
software development services such as Project
related Web hosting, Document Management,
Wiki, Forum, Online chat, Issue tracking
integrated with Subversion revision control. It
was launched by JavaLobby in September 2005 as
the first Java based and Subversion supported
free collaboration platform for the open source
world.
http://en.wikipedia.org/wiki/JavaForge 40
41. • What is Apache Foundation?
• What is the meaning of Apache?
• History.
• Apache license.
• What is Apache project?
• Apache Projects.
• Alternatives.
• What is HTTP request and response?
• Apache Tomcat.
43
42. • The Apache Software Foundation (ASF) is a non-profit
corporation to support Apache software projects, including
the Apache HTTP Server. The ASF was formed from the
Apache Group and incorporated in Delaware, USA, in June
1999.
• The Apache Software Foundation is a decentralized
community of developers. The software they produce is
distributed under the terms of the Apache License and is
therefore free software / open source software. The
Apache projects are characterized by a
collaborative, consensus-based development process and
an open and pragmatic software license. Each project is
managed by a self-selected team of technical experts who
are active contributors to the project.
http://en.wikipedia.org/wiki/Apache_Software_Foundation 44
43. Apache is a tribute to the Native American Indian tribe, a
tribe well known for its endurance and skill in warfare. ,
the original FAQ on the Apache Server project's website,
from 1996 to 2001, that quot;The result after combining was
a patchy. And till now, we don‘t know which explanation
is the most correct. So, both explanations are
appropriate.
http://en.wikipedia.org/wiki/Apache_HTTP_Server 45
44. • The history of Apache starts with Robert McCool, was
involved with the National Center for Supercomputing
Applications server, known simply as NCSA HTTPd.
McCool left NCSA in mid-1994, the development of httpd
stalled, leaving variety of patches improvements
circulating e-mails. Behlendorf collecting patches to be
applied to the last version of NCSA. The initial of Apache
are available primarily as a series of patches.
Hence, initially, name Apache, as it was quot;a patchy
serverquot;. At least, so the legend goes. The Apache
, consisting of 8 individuals, traded patches on a mailing
list set up for purpose.
http://en.wikipedia.org/wiki/Apache_HTTP_Server 46
45. • This is a free software license but it is incompatible
with the GPL because it has a specific requirement
that is not in the GPL; it has certain patent
termination cases that the GPL does not require. We
don't think those patent termination cases are
inherently a bad idea, but nonetheless they are
incompatible with the GNU GPL.
• However, version 3 of the GPL includes a provision
which allows it to be compatible with licenses that
have patent retaliation clauses, including the Apache
License.
http://en.wikipedia.org/wiki/Apache_HTTP_Server 47
46. • Apache is the name of the software that
allows you to run a web service on a UNIX .
Apache is very popular and provides access
to most web sites on the INTERNET recent
Netcraft of Web around the world placed
Apache Powered sites at over 50 percent of
the . Part of the reason for this may be that it
is freely available, reliable and to set up and
configure, and it can provide most of the
requirements for web site.
http://www.ariadne.ac.uk/issue19/what-is/ 48
47. • Apache ActiveMQ:
is an open source (Apache 2.0 licensed)
• FOP (Formatting Objects Processor):
It is a Java application that converts XSL-FO files to PDF or
other printable formats. It is part of the Apache XML
Graphics project. FOP is open source software, and is
distributed under the Apache Software License.
• Apache XML Graphics Project:
This is one of the major steps of the Apache XML Project
to promote its projects upwards and become a federation
• Apache Tomcat.
http://www.apache.org/ 49
59. • Tomcat As a Servlet Container.
• Servlet Container.
• Servlet.
• JSP.
61
60. • A Java Technology uses to create a Dynamic Servers Pages:
– That's mean the server be dynamic such that it support requests
from the user and responses it.
– Ex. on dynamic servers: YAHOO email Registration the browser
send your data to the server & it checked in its data base then
send it to the browser
• JSP compiler: is a program that parses Java Server Pages
(JSPs), and transforms them into executable Java Servlets.
– A program of this type is usually embedded into an application
server and run automatically the first time a JSP is accessed, but
pages may also be pre-compiled for better performance, or
compiled as a part of the build process to test for errors.
http://en.wikipedia.org/wiki/JavaServer_Pages
62
http://java.sun.com/products/jsp/
63. • Servlets are Java programming language
objects that dynamically process requests and
construct responses. The Java Servlet API
allows a software developer to add dynamic
content to a Web server using the Java
platform. The generated content is commonly
HTML.
http://en.wikipedia.org/wiki/Servlet_container#Servlet_containers 65
64. • A Servlet container is a specialized web server
that supports Servlet execution. It combines
the basic functionality of a web server with
certain Java/Servlet specific optimizations and
extensions – such as an integrated Java
runtime environment.
http://en.wikipedia.org/wiki/Servlet_container#Servlet_containers 66
65. • Tomcat is a Servlet Container developed by
the Apache Software Foundation (ASF).
Tomcat implements the Java Servlet and the
Java Server Pages (JSP) specifications from Sun
Microsystems, and provides a quot;pure Javaquot;
HTTP web server environment for Java code to
run.
http://en.wikipedia.org/wiki/Apache_Tomcat 67