Illia Iorin (Junior Software Engineer, Consultant, GlobalLogic, Kharkiv) is a developer of free hardware drivers for accelerating the work with Mesa3D graphics under Linux with digital signal processing experience. Illia told about collaboration and communication on Open Source projects covering the following topics:
- The history of the Open Source concept.
- Open Source license.
- How to use Git for communication.
- Examples of the Open Source project workflows: Mesa3D and OpenCV.
This presentation by Illia Iorin (Junior Software Engineer, Consultant, GlobalLogic, Kharkiv) was delivered at GlobalLogic Kharkiv Embedded TechTalk #4 on January 25, 2019.
Video: https://www.youtube.com/watch?v=ZbtsqVlB1fs
4. About myself
- Student of NURE
- Know how to process photos and run games on Linux
- Try to take a part in the development of Mesa 3D graphics library
- Like backpacking
4
6. When we face open source
- Your project use open source solution and it broke
- You fix it and want to upstream it
- You want to try new area of a development
6
7. When we face open source
- Your project use open source solution and it broke
- You fix it and want to upstream it
- You want to try new area of a development
- When you browse the net
7
8. Pros and Cons
+
8
- Thorough code review
- Communication with highly skilled
specialists
- Reputation in community
- New sources of inspiration
- Quality is more important than
speed
9. Pros and Cons
- Thorough code review
- Communication with highly skilled
specialists
- Reputation in community
- New sources of inspiration
- Quality is more important than
speed
- Steals your time
- Not equality with famous
ones
- Everyone do what they
“want”
+ -
9
12. GNU General Public License
12
Permissions
- commercial use
- distribution
- modification
- patent use
- private use
Conditions
- disclose source
- license and copyright
notice
- same license
- state changes
Limitations
- liability
- warranty
13. Apache License 2.0
13
Permissions
- commercial use
- distribution
- modification
- patent use
- private use
Conditions
- license and copyright
notice
- state changes
Limitations
- liability
- trademark use
- warranty
14. MIT License
14
Permissions
- commercial use
- distribution
- modification
- private use
Conditions
- license and copyright
notice
Limitations
- liability
- warranty
15. Top open source licenses
15
1. MIT License
2. GNU General Public License (GPL 2.0)
3. Apache License 2.0
4. ISC License
5. GNU General Public License (GNU) 3.0
6. BSD License 2.0 (3-clause, New or Revised) License
7. Artistic License (Perl)
8. GNU Lesser General Public License (LGPL) 2.1
9. GNU Lesser General Public License (LGPL) 3.0
10. Eclipse Public License (EPL)
38%
14%
13%
10%
6%
5%
3%
3%
1%
1%
25. Patch life cycle
25
Patches CI system
Git send
E-mail
Preview
process
Push by
maintainer
V1,V2,V3
Pass
Nack
Reviewed-by
Master
Backport
Requested changesFail
35. Pull request life cycle
35
New
Testing
by
BuildBot
BadGood
Development
process
Stabilization process;POD:
ping author to fix
POD: reject if the patch is
obviously a trash
POD:assign to reviewer
Under reviewReviewer Rejected Rejected
36. Pull request life cycle
36
Merged
Under
Review
Rejected
Mainteiner:
merge
Reviewer:
reject if useless
POD: reject if author
doesn’t fix his patch for 2
weeks (but create ticket if
useful)
New Bad NewGood
Closed
42. Use git for communication
42
"Talk is cheap. Show me the code"
Said-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds
Linux Foundation