software project management in...
TRANSCRIPT
![Page 1: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/1.jpg)
Software Project Management in
Practice
![Page 2: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/2.jpg)
HELLO!I am Cagdas GeredeI am here because I love to talk about Software. You can find me at [email protected]
2
![Page 3: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/3.jpg)
OpenJDK proj.Who develops java/javac? What process do they follow? Would you like to be a contributor?
3
![Page 4: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/4.jpg)
OpenJDKproject
▸ Open source implementation of Java Platform
▸ http://openjdk.java.net4
![Page 5: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/5.jpg)
OpenJDK project
*Screenshot taken from http://openjdk.java.net(Sep 2016)5
![Page 6: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/6.jpg)
OpenJDKproject
▸ Oracle JDK vs. OpenJDK▹ Oracle JDK extends OpenJDK
with closed-source components6
![Page 7: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/7.jpg)
OpenJDKproject
▸ Who uses:▹ Default Java Standard edition
in Ubuntu, Fedora, Red Hat Ent.▹ 21% of developers
▸ Who develops:▹ Oracle and IBM employees▹ Volunteers
▸ Open to new contributors:▹ Yes
7
[From http://openjdk.java.net/faq/]
![Page 8: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/8.jpg)
Java Virtual Machines
*Screenshot taken fromhttps://en.wikipedia.org/wiki/HotSpot(Sep 2016)
8
![Page 9: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/9.jpg)
OpenJDKproject
▸ Process▹ Scrum or Kanban
▸ Proposals and evaluations▹ JSR and JCP
▸ Issue Tracking▹ JIRA based Bug System (JBS)
9
![Page 10: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/10.jpg)
OpenJDKproject
▸ Code Repository▹ Mercurial repositories▹ http://hg.openjdk.java.net▹ Instructions:
http://openjdk.java.net/guide/repositories.html
10
![Page 11: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/11.jpg)
*From Wikipedia (09/2016)
![Page 12: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/12.jpg)
Version Control Concepts
12
![Page 13: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/13.jpg)
Version Control Concepts
▸ Branch▸ Fork▸ Changeset▸ Commit▸ Merge
▹ File locking vs. merge-based▸ Data comparison▸ Trunk
13
![Page 14: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/14.jpg)
OpenJDKproject
▸ Issue Tracking▹ JIRA based▹ JDK Bug System (JBS)▹ https://bugs.openjdk.java.net
▸ Example:▹ https://bugs.openjdk.java.net/br
owse/JDK-8017120
14
![Page 16: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/16.jpg)
OpenJDKproject
▸ Email lists▹ http://mail.openjdk.java.net/mail
man/listinfo▸ Specific component:
▹ [email protected] ▹ http://mail.openjdk.java.net/pipe
rmail/compiler-dev/
16
![Page 17: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/17.jpg)
OpenJDKproject
▸ Example Dev Thread:▹ http://mail.openjdk.java.net/pipe
rmail/compiler-dev/2016-August/thread.html
▸ Question:▹ http://mail.openjdk.java.net/pipe
rmail/compiler-dev/2016-August/010298.html
17
![Page 18: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/18.jpg)
OpenJDK project
▸ Code Review▹ http://openjdk.java.net/guide/cod
eReview.html18
![Page 19: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/19.jpg)
OpenJDKproject
▸ How to contribute▹ http://openjdk.java.net/contribut
e/19
![Page 20: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/20.jpg)
OpenJDKproject
▸ Kanban Board▹ https://bugs.openjdk.java.net/se
cure/RapidBoard.jspa?rapidView=542&selectedIssue=JDK-8159713
▸ Agile, Scrum, Kanban, Waterfall:▹ http://goo.gl/B2pYgj
20
![Page 21: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/21.jpg)
Open Source Software
▸ Other open source projects▹ Eclipse▹ Hadoop▹ Notepad++▹ Android▹ and many more...
▸ Popular project hosting sites▹ Github▹ Bitbucket▹ SourceForge
21
![Page 22: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/22.jpg)
JCP: Java community process:https://jcp.org/en/home/index
JSR: Java specification request
22
![Page 23: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/23.jpg)
OpenJDKproject
▸ Typical▹ Documentation is wrong or
incomplete▹ Hard to set up environment and
get going
23
![Page 24: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/24.jpg)
▸ Change Planning▹ http://openjdk.java.net/guide/ch
angePlanning.html▸ Identify a
bug/Enhancement/feature request (FR, RFE)
▸ Changeset, change list (CS, CL), Change request (CR, SCR)
▸ Change review
24
![Page 25: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/25.jpg)
▸ Discuss the intended change▸ Create a bug if not exist
▹ Set status to “open”▸ Fix the bug locally▸ Write a test▸ Request a review▸ Create a changeset▸ Push the changeset
Steps for fixing a bug
25
![Page 26: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/26.jpg)
By-laws
http://openjdk.java.net/bylaws26
![Page 27: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/27.jpg)
Dev Schedule Milestoneshttp://openjdk.java.net/projects/jdk8/milestones
27
![Page 28: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/28.jpg)
Project roles
AuthorContributor (can create CS but cannot push to repo)
Readability reviewerKnowledgeable in coding guidelines and use of language (readability approaval
Committercan push CS to repo
Reviewer Experienced committer
Can approve CS destined for repo(owner approval)
28LeadCommitter that coordinates project activities
Approval can be finer granular (owners per folder)One CS may require multiple reviewers (editing files in multiple
![Page 29: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/29.jpg)
29 Instructions on becoming an authorhttp://openjdk.java.net/projects/index.html
![Page 30: Software Project Management in Practicecegerede.etu.edu.tr/courses/bil481Fall2017/Examining_openjdk_project.pdfOracle JDK extends OpenJDK with closed-source components 6. OpenJDK project](https://reader030.vdocuments.us/reader030/viewer/2022040821/5e6aee2653ce040fbe7b5028/html5/thumbnails/30.jpg)
30 Now you have the basic terminology to explore an open source project.
END