Top Banner
open source, SourceForge Projects, & Apache Software Foundation Group 5 GOST TEAM
63

Open Source, Sourceforge Projects, & Apache Foundation

Dec 19, 2014

Download

Education

Mohammad Kotb

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Open Source, Sourceforge Projects, & Apache Foundation

open source, SourceForge Projects, & Apache Software Foundation

Group 5

GOST TEAM

Page 2: Open Source, Sourceforge Projects, & Apache Foundation

2

This is an open source Presentation

You can download it and use it when you need, and modify on it, and re-

upload it and so on.

Page 3: Open Source, Sourceforge Projects, & Apache Foundation

3

Agenda

• open source.• SourceForge Projects.• Apache Software Foundation.

Page 4: Open Source, Sourceforge Projects, & Apache Foundation

4

open source

Page 5: Open Source, Sourceforge Projects, & Apache Foundation

5

Agenda

• Definition.• 4 freedoms.• GNU GPL (General Public License) license.• open source vs. closed source.• open source Examples• Question!!

Page 6: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Open_source 6

open source Definition

open source is an approach to design, development, and distribution offering practical

accessibility to a product's source (goods and knowledge).

Page 7: Open Source, Sourceforge Projects, & Apache Foundation

7

4 freedoms 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

Page 8: Open Source, Sourceforge Projects, & Apache Foundation

8

GNU GPL License 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

Page 9: Open Source, Sourceforge Projects, & Apache Foundation

http://www.scienceinafrica.co.za/2004/january/software.htm 9

open source vs. closed source Created normally for use by those who want to use it. The source code to open software is available by all to read. No guarantee of good documentation or support.

Software packages have had a better security.

Created to satisfy a need in

the market. Source code for making the software is kept a secret.

Good documentation , legal right against the company , getting help and support are valid when you PAY . Has lower security than Open source.

Page 10: Open Source, Sourceforge Projects, & Apache Foundation

10

Page 11: Open Source, Sourceforge Projects, & Apache Foundation

11

Question!!

Why don't you make your projects, and specially the Graduation Project open source, and

participate in open source Projects?

Page 12: Open Source, Sourceforge Projects, & Apache Foundation

12

SourceForge Projects

Page 13: Open Source, Sourceforge Projects, & Apache Foundation

13

Agenda

• Introduction• Why to use SourceForge• Tools of SourceForge• CVS & SVN• Demo.• Alternatives of SourceForge.• Some projects on sourceForge.

Page 14: Open Source, Sourceforge Projects, & Apache Foundation

14

Introduction to SourceForge

Page 15: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Source_forge 16

What is SourceForge?

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.

Page 16: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/SourceForge,_Inc. 17

What is SourceForge Inc.

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

Page 17: Open Source, Sourceforge Projects, & Apache Foundation

http://itmanagement.earthweb.com/cnews/article.php/3705731 18

The Beginning

They put seven persons in a room, and they said, "All right, write us SourceForge – we’ll provide

you with Mountain Dew and pizza". The developers crafted code for several weeks, not

sure how big or small the finished project would need be

Page 18: Open Source, Sourceforge Projects, & Apache Foundation

http://itmanagement.earthweb.com/cnews/article.php/3705731 19

Launching…

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.

Page 19: Open Source, Sourceforge Projects, & Apache Foundation

http://itmanagement.earthweb.com/cnews/article.php/3705731 20

Why to use SourceForge• 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.

Page 20: Open Source, Sourceforge Projects, & Apache Foundation

21

Tools of SourceForge.net• Contains the following features:

– code hosting– Bug tracking– web hosting– wiki– Mailing List– Forum

• And in VCS (Version Controlling System) contains:– CVS– SVN– Bazaar– Git– Mercurial

http://en.wikipedia.org/wiki/Comparison_of_free_software_hosting_facilities#

Page 21: Open Source, Sourceforge Projects, & Apache Foundation

22

CVS & SVN

Page 22: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Version_control_system 23

Version Control System

• 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 "revision number". For example, an initial set of files is "revision 1". When the first change is made, the resulting set is "revision 2", 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.

Page 23: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Source_code_repository 24

What is the repository

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.

Page 24: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Concurrent_Versions_System 25

What is CVS?

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.

Page 25: Open Source, Sourceforge Projects, & Apache Foundation

http://www.cs.vu.nl/~dick/CVS.html#History 26

History

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.

Page 26: Open Source, Sourceforge Projects, & Apache Foundation

31

Uses (Main uses for you)

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

Page 27: Open Source, Sourceforge Projects, & Apache Foundation

32

Demo

Page 28: Open Source, Sourceforge Projects, & Apache Foundation

34

Page 29: Open Source, Sourceforge Projects, & Apache Foundation

35

Page 30: Open Source, Sourceforge Projects, & Apache Foundation

36

Page 31: Open Source, Sourceforge Projects, & Apache Foundation

37

Alternatives of SourceForge.net

Page 32: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Tigris.org 38

Tigris.org

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.

Page 33: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/RubyForge 39

RubyForge

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

Page 34: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/JavaForge 40

JavaForge

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.

Page 35: Open Source, Sourceforge Projects, & Apache Foundation

41

One of the most popular projects on sourceforge

Page 36: Open Source, Sourceforge Projects, & Apache Foundation

42

Apache Software Foundation

Page 37: Open Source, Sourceforge Projects, & Apache Foundation

43

Agenda

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

Page 38: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Apache_Software_Foundation 44

What is Apache Foundation?

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

Page 39: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Apache_HTTP_Server 45

What is the meaning of Apache?

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

Page 40: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Apache_HTTP_Server 46

History

• 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 "a patchy server". At least, so the legend goes. The Apache , consisting of 8 individuals, traded patches on a mailing list set up for purpose.

Page 41: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Apache_HTTP_Server 47

Apache License

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

Page 42: Open Source, Sourceforge Projects, & Apache Foundation

http://www.ariadne.ac.uk/issue19/what-is/ 48

What is Apache Project?

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

Page 43: Open Source, Sourceforge Projects, & Apache Foundation

http://www.apache.org/ 49

Apache Projects

• Apache ActiveMQ

• FOP (Formatting Objects Processor)

• Apache XML Graphics Project

• Apache Tomcat.

Page 44: Open Source, Sourceforge Projects, & Apache Foundation

50

Alternatives

Page 45: Open Source, Sourceforge Projects, & Apache Foundation

51

What is HTTP request and response?

Page 46: Open Source, Sourceforge Projects, & Apache Foundation

52

Attention Please….

Page 47: Open Source, Sourceforge Projects, & Apache Foundation

©ACM Chapter Presentation in Web Development training 53

Basics in Networking

• URL:http://www.example.com/contents/mypages.html

• Protocol Identifier:– HTTP.– HTTPS.– FTP

• Domain name: specifies the IP address which indicates where the resource is located

Protocol identifier

Domain nameresource

Required resource

Page 48: Open Source, Sourceforge Projects, & Apache Foundation

©ACM Chapter Presentation in Web Development training 54

IP addressing and DNS

• IP address is a 32-bit numeric address1.168.10.255

• Domain Name IP addressDNS == Domain Name Service

DNS has a DB which contains IP addresses of domain names

Page 49: Open Source, Sourceforge Projects, & Apache Foundation

©ACM Chapter Presentation in Web Development training 55

HTTP (Hypertext Transfer Protocol)

It defines how messages between servers and browsers are formatted and transmitted, and what action they should take in response to

various commands.

Page 50: Open Source, Sourceforge Projects, & Apache Foundation

©ACM Chapter Presentation in Web Development training 56

HTTP Cycle

Page 51: Open Source, Sourceforge Projects, & Apache Foundation

©ACM Chapter Presentation in Web Development training 57

HTTP Cycle (cont.)

• Client browser try to establish connection to a server

• Server accepts connection• Client send request to the server• The browser assembles an http request and

sends it to the server• The server receives the request, prepares and

sends a response• Start over…

Page 52: Open Source, Sourceforge Projects, & Apache Foundation

©ACM Chapter Presentation in Web Development training 58

HTTP transaction structure

• HTTP request or response has the same structure:<initial line, different for request vs. response>Header1: value1Header2: value2Header3: value3<optional message body goes here, like file contents or query data; it can be many lines long, or even binary data>

Page 53: Open Source, Sourceforge Projects, & Apache Foundation
Page 54: Open Source, Sourceforge Projects, & Apache Foundation

60

Apache Tomcat

Page 55: Open Source, Sourceforge Projects, & Apache Foundation

61

Apache Tomcat

• Tomcat As a Servlet Container.• Servlet Container.• Servlet.• JSP.

Page 56: Open Source, Sourceforge Projects, & Apache Foundation

62

JSP Technology

• 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_Pageshttp://java.sun.com/products/jsp/

Page 57: Open Source, Sourceforge Projects, & Apache Foundation

63

JSP Technology (Example)

http://en.wikipedia.org/wiki/File:JSPLife.svg

Page 58: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Servlet_container#Servlet_containers 64

JSP Technology (Example) cont.

Page 59: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Servlet_container#Servlet_containers 65

Servlet

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

Page 60: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Servlet_container#Servlet_containers 66

Servlet Container

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

Page 61: Open Source, Sourceforge Projects, & Apache Foundation

http://en.wikipedia.org/wiki/Apache_Tomcat 67

Apache Tomcat

• 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 "pure Java" HTTP web server environment for Java code to run.

Page 62: Open Source, Sourceforge Projects, & Apache Foundation

69

Q & A

Page 63: Open Source, Sourceforge Projects, & Apache Foundation

70

A BIG THANK YOU…

WITH OUR BESTWISHES

GOST TEAMGOST OPEN SOURCE TRAIN TEAM