How to start your open source project
Upcoming SlideShare
Loading in...5
×
 

How to start your open source project

on

  • 1,048 views

The 3rd juniors session in CAT

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

Statistics

Views

Total Views
1,048
Views on SlideShare
906
Embed Views
142

Actions

Likes
0
Downloads
6
Comments
0

4 Embeds 142

http://esl4m.com 104
http://www.esl4m.com 33
http://www.linkedin.com 3
url_unknown 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

How to start your open source project How to start your open source project Presentation Transcript

    • Welcome to the 3 rd Junior Session
    • Prepared by
    • Eslam Mohammed Diaa El-Din
    • Twitter : @esl4mdiaa
    • [email_address]
  •  
  • Agenda !
    • Agile .. ?
    • Scrum .. !!
    • Open Source Projects !!
    • Revision Control
      • GIT
      • Mercurial
    • Installing Mercurial on your system
    • Mercurial Commands
    • Example of Agile Development .. “Web2py”
    • MVC
    View slide
  • 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 agile
    • http://en.wikipedia.org/wiki/Agile_software_development
    View slide
  • Software Development Life Cycle
    • Analysis ..
    • Design ..
    • Implementation .. “code”
    • Testing
  • Agile methods
    • Agile Unified Process (AUP)
    • DSDM
    • Extreme Programming (XP)
    • Feature Driven Development (FDD)
    • Scrum
    • … ..
  • Scrum !!
    • Other slides !!
      • It’s Name : Redistributable Intro To Scrum
    • More about scrum
    • http://en.wikipedia.org/wiki/Scrum_(development)
  • Open Source Projects
    • Before we talk about Open Source Projects , we need to know
    • What is the meaning of the word ” Open Source ” ?
  • About Revision 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 .
  • GIT !!
    • I will leave it for
    • Mohamed Gamal’s Session
    • @ CAT Scope 11
    • http://catreloaded.net/scope/2010/05/mohammed-gamal/
  • 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 .
  • Why Choose Mercurial ?
    • It is easy to learn and use.
    • It is lightweight.
    • It scales excellently.
    • It is easy to customize.
  • Installing Mercurial on your system
    • Linux :
      • Debian :
        • apt-get install mercurial
      • Fedora Core :
        • yum install mercurial
      • OpenSUSE :
        • yum install mercurial
        • … .
  • Installing Mercurial on 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”.
  • 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 <mpm@selenic.com> 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.
  • 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” !
  • Mercurial ..
  • Example of Agile Development
    • 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 Web2py
    • http://en.wikipedia.org/wiki/Web2py
  • MVC !!
    • M = Model
    • V = View
    • C = Controller
    • More about MVC
    • http://en.wikipedia.org/wiki/Model-view-controller
  • References
    • http://en.wikipedia.org/
    • hgbook-en
    • web2py_manual
  •