<ul><li>Welcome to the 3 rd  Junior Session </li></ul><ul><li>Prepared by </li></ul><ul><li>Eslam Mohammed Diaa El-Din </l...
 
Agenda ! <ul><li>Agile .. ? </li></ul><ul><li>Scrum  .. !! </li></ul><ul><li>Open Source Projects !! </li></ul><ul><li>Rev...
Agile !! <ul><ul><li>- are methods break tasks into small increments  </li></ul></ul><ul><ul><li>with minimal planning .. ...
Software Development Life Cycle <ul><li>Analysis .. </li></ul><ul><li>Design .. </li></ul><ul><li>Implementation ..  “code...
Agile methods <ul><li>Agile Unified Process (AUP) </li></ul><ul><li>DSDM </li></ul><ul><li>Extreme Programming (XP) </li><...
Scrum !! <ul><li>Other slides !! </li></ul><ul><ul><li>It’s Name : Redistributable Intro To Scrum </li></ul></ul><ul><li>M...
Open Source Projects <ul><li>Before we talk about Open Source Projects , we need to know  </li></ul><ul><li>What is the me...
About Revision Control .. <ul><li>is the process of managing multiple versions of a piece of information. </li></ul><ul><l...
GIT !! <ul><li>I will leave it for </li></ul><ul><li>Mohamed Gamal’s Session </li></ul><ul><li>@ CAT Scope 11 </li></ul><u...
Mercurial .. <ul><li>is a cross-platform , distributed revision control tool for software developers. </li></ul><ul><li>It...
Why Choose Mercurial ? <ul><li>It is easy to learn and use. </li></ul><ul><li>It is lightweight. </li></ul><ul><li>It scal...
Installing Mercurial on your system <ul><li>Linux  : </li></ul><ul><ul><li>Debian : </li></ul></ul><ul><ul><ul><li>apt-get...
Installing Mercurial on your system .. <ul><li>Solaris  : </li></ul><ul><ul><li>Sun FreeWare , at  http://www.sunfreeware....
Getting started ! <ul><li>To begin, we'll use the  hg version command  to find out whether Mercurial is actually installed...
Mercurial Commands !! <ul><li>Most known commands : </li></ul><ul><ul><li>$ hg commit  …  On your Local Machine </li></ul>...
Mercurial ..
Example of Agile Development <ul><li>Web2py  </li></ul><ul><li>is an open source web application framework . Its primary g...
MVC !! <ul><li>M = Model </li></ul><ul><li>V = View </li></ul><ul><li>C = Controller </li></ul><ul><li>More about MVC </li...
References <ul><li>http://en.wikipedia.org/ </li></ul><ul><li>hgbook-en </li></ul><ul><li>web2py_manual </li></ul>
 
Upcoming SlideShare
Loading in...5
×

How to start your open source project

889

Published on

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

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
889
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "How to start your open source project"

  1. 1. <ul><li>Welcome to the 3 rd Junior Session </li></ul><ul><li>Prepared by </li></ul><ul><li>Eslam Mohammed Diaa El-Din </li></ul><ul><li>Twitter : @esl4mdiaa </li></ul><ul><li>[email_address] </li></ul>
  2. 3. Agenda ! <ul><li>Agile .. ? </li></ul><ul><li>Scrum .. !! </li></ul><ul><li>Open Source Projects !! </li></ul><ul><li>Revision Control </li></ul><ul><ul><li>GIT </li></ul></ul><ul><ul><li>Mercurial </li></ul></ul><ul><li>Installing Mercurial on your system </li></ul><ul><li>Mercurial Commands </li></ul><ul><li>Example of Agile Development .. “Web2py” </li></ul><ul><li>MVC </li></ul>
  3. 4. Agile !! <ul><ul><li>- are methods break tasks into small increments </li></ul></ul><ul><ul><li>with minimal planning .. </li></ul></ul><ul><ul><li>and do not directly involve long-term planning !! </li></ul></ul><ul><ul><li>- Software Development Life Cycle (SDLC) .. </li></ul></ul><ul><li>More a bout agile </li></ul><ul><li>http://en.wikipedia.org/wiki/Agile_software_development </li></ul>
  4. 5. Software Development Life Cycle <ul><li>Analysis .. </li></ul><ul><li>Design .. </li></ul><ul><li>Implementation .. “code” </li></ul><ul><li>Testing </li></ul>
  5. 6. Agile methods <ul><li>Agile Unified Process (AUP) </li></ul><ul><li>DSDM </li></ul><ul><li>Extreme Programming (XP) </li></ul><ul><li>Feature Driven Development (FDD) </li></ul><ul><li>Scrum </li></ul><ul><li>… .. </li></ul>
  6. 7. Scrum !! <ul><li>Other slides !! </li></ul><ul><ul><li>It’s Name : Redistributable Intro To Scrum </li></ul></ul><ul><li>More about scrum </li></ul><ul><li>http://en.wikipedia.org/wiki/Scrum_(development) </li></ul>
  7. 8. Open Source Projects <ul><li>Before we talk about Open Source Projects , we need to know </li></ul><ul><li>What is the meaning of the word ” Open Source ” ? </li></ul>
  8. 9. About Revision Control .. <ul><li>is the process of managing multiple versions of a piece of information. </li></ul><ul><li>In its simplest form, this is something that many people do by hand :- </li></ul><ul><ul><li>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 . </li></ul></ul><ul><li>Examples : </li></ul><ul><ul><ul><li>GIT . </li></ul></ul></ul><ul><ul><ul><li>Mercurial . </li></ul></ul></ul>
  9. 10. GIT !! <ul><li>I will leave it for </li></ul><ul><li>Mohamed Gamal’s Session </li></ul><ul><li>@ CAT Scope 11 </li></ul><ul><li>http://catreloaded.net/scope/2010/05/mohammed-gamal/ </li></ul>
  10. 11. Mercurial .. <ul><li>is a cross-platform , distributed revision control tool for software developers. </li></ul><ul><li>It is mainly implemented using the Python programming Language .. written in C </li></ul><ul><li>Mercurial was initially written to run on Linux , Mac and windows . </li></ul>
  11. 12. Why Choose Mercurial ? <ul><li>It is easy to learn and use. </li></ul><ul><li>It is lightweight. </li></ul><ul><li>It scales excellently. </li></ul><ul><li>It is easy to customize. </li></ul>
  12. 13. Installing Mercurial on your system <ul><li>Linux : </li></ul><ul><ul><li>Debian : </li></ul></ul><ul><ul><ul><li>apt-get install mercurial </li></ul></ul></ul><ul><ul><li>Fedora Core : </li></ul></ul><ul><ul><ul><li>yum install mercurial </li></ul></ul></ul><ul><ul><li>OpenSUSE : </li></ul></ul><ul><ul><ul><li>yum install mercurial </li></ul></ul></ul><ul><ul><ul><li>… . </li></ul></ul></ul>
  13. 14. Installing Mercurial on your system .. <ul><li>Solaris : </li></ul><ul><ul><li>Sun FreeWare , at http://www.sunfreeware.com </li></ul></ul><ul><li>Windows : </li></ul><ul><ul><li>Mercurial for Windows at http://mercurial.berkwood.com </li></ul></ul><ul><ul><li>This package has no external dependencies; it “just works”. </li></ul></ul>
  14. 15. Getting started ! <ul><li>To begin, we'll use the hg version command to find out whether Mercurial is actually installed properly. </li></ul><ul><ul><li>$ hg version </li></ul></ul><ul><ul><ul><li>Mercurial Distributed SCM (version -) </li></ul></ul></ul><ul><ul><li>Copyright (C) 2005-2008 Matt Mackall <mpm@selenic.com> and others </li></ul></ul><ul><ul><li>This is free software; see the source for copying conditions. There is NO </li></ul></ul><ul><ul><li>warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. </li></ul></ul>
  15. 16. Mercurial Commands !! <ul><li>Most known commands : </li></ul><ul><ul><li>$ hg commit … On your Local Machine </li></ul></ul><ul><ul><li>$ hg pull … Take the latest code on server </li></ul></ul><ul><ul><li>$ hg merge … when there are an error with others  </li></ul></ul><ul><ul><li>$ hg push … So others can see your “working code” ! </li></ul></ul>
  16. 17. Mercurial ..
  17. 18. Example of Agile Development <ul><li>Web2py </li></ul><ul><li>is an open source web application framework . Its primary goal is to support agile development. </li></ul><ul><li>Web2py is written in the Python language and is programmable in Python. </li></ul><ul><li>Using MVC technology </li></ul><ul><li>More about Web2py </li></ul><ul><li>http://en.wikipedia.org/wiki/Web2py </li></ul>
  18. 19. MVC !! <ul><li>M = Model </li></ul><ul><li>V = View </li></ul><ul><li>C = Controller </li></ul><ul><li>More about MVC </li></ul><ul><li>http://en.wikipedia.org/wiki/Model-view-controller </li></ul>
  19. 20. References <ul><li>http://en.wikipedia.org/ </li></ul><ul><li>hgbook-en </li></ul><ul><li>web2py_manual </li></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×