21
Welcome to the 3 rd Junior Session Prepared by Eslam Mohammed Diaa El-Din Twitter : @esl4mdiaa [email protected]

How to start your open source project

Embed Size (px)

DESCRIPTION

The 3rd juniors session in CAT 5 - 5 - 2010

Citation preview

Page 1: How to start your open source project

Welcome to the 3rd Junior Session

Prepared by

Eslam Mohammed Diaa El-Din

Twitter : @esl4mdiaa

[email protected]

Page 2: How to start your open source project
Page 3: How to start your open source project

Agenda !Agenda ! Agile .. ?

Scrum .. !!

Open Source Projects !!

Revision Control◦ GIT◦ Mercurial

Installing Mercurial on your system

Mercurial Commands

Example of Agile Development .. “Web2py”

MVC

Page 4: How to start your open source project

Agile !!Agile !!

- are methods break tasks into small increments

with minimal planning ..

and do not directly involve long-term planning !!

- Software Development Life Cycle (SDLC) ..

More a bout agilehttp://en.wikipedia.org/wiki/Agile_software_development

Page 5: How to start your open source project

Software Development Software Development Life CycleLife Cycle

Analysis ..

Design ..

Implementation .. “code”

Testing

Page 6: How to start your open source project

Agile methodsAgile methods

Agile Unified Process (AUP)

DSDM

Extreme Programming (XP)

Feature Driven Development (FDD)

Scrum

…..

Page 7: How to start your open source project

Scrum !!Scrum !!

Other slides !!◦ It’s Name : Redistributable Intro To Scrum

More about scrum

http://en.wikipedia.org/wiki/Scrum_(development)

Page 8: How to start your open source project

Open Source ProjectsOpen Source Projects

Before we talk about Open Source Projects , we need to know

What is the meaning of the word ”Open Source” ?

Page 9: How to start your open source project

About Revision About Revision Control ..Control .. is the process of managing multiple versions

of a piece of information.

In its simplest form, this is something that many people do by hand :-◦ every time you modify a file, save it under a new

name that contains a number, each one higher than the number of the preceding version .

Examples : GIT . Mercurial .

Page 10: How to start your open source project

GIT !!GIT !!

I will leave it forMohamed Gamal’s Session

@ CAT Scope 11http://catreloaded.net/scope/2010/05/mohammed-

gamal/

Page 11: How to start your open source project

Mercurial ..Mercurial ..

is a cross-platform , distributed revision control tool for software developers.

It is mainly implemented using the Python programming Language .. written in C

Mercurial was initially written to run on Linux , Mac and windows .

Page 12: How to start your open source project

Why Choose Why Choose Mercurial ?Mercurial ? It is easy to learn and use.

It is lightweight.

It scales excellently.

It is easy to customize.

Page 13: How to start your open source project

Installing Mercurial on Installing Mercurial on your systemyour system

Linux :◦ Debian :

apt-get install mercurial

◦ Fedora Core : yum install mercurial

◦ OpenSUSE : yum install mercurial

….

Page 14: How to start your open source project

Installing Mercurial on Installing Mercurial on your system ..your system ..Solaris :

◦ Sun FreeWare , at http://www.sunfreeware.com

Windows :◦ Mercurial for Windows at

http://mercurial.berkwood.com

◦ This package has no external dependencies; it “just works”.

Page 15: How to start your open source project

Getting started !Getting started !

To begin, we'll use the hg version command to find out whether Mercurial is actually installed properly.

◦ $ hg version

Mercurial Distributed SCM (version -)

Copyright (C) 2005-2008 Matt Mackall <[email protected]> and others

This is free software; see the source for copying conditions. There is NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Page 16: How to start your open source project

Mercurial Commands !!Mercurial Commands !!

Most known commands :

◦ $ hg commit … On your Local Machine

◦ $ hg pull … Take the latest code on server

◦ $ hg merge … when there are an error with others

◦ $ hg push … So others can see your “working code” !

Page 17: How to start your open source project

Mercurial ..Mercurial ..

Page 18: How to start your open source project

Example of Agile Example of Agile DevelopmentDevelopment

Web2py

is an open source web application framework . Its primary goal is to support agile development.

Web2py is written in the Python language and is programmable in Python.

Using MVC technology

More about Web2pyhttp://en.wikipedia.org/wiki/Web2py

Page 19: How to start your open source project

MVC !!MVC !!M = Model

V = View

C = Controller

More about MVChttp://en.wikipedia.org/wiki/Model-view-controller

Page 20: How to start your open source project

ReferencesReferences

http://en.wikipedia.org/

hgbook-en

web2py_manual

Page 21: How to start your open source project