SlideShare a Scribd company logo
1 of 23
1
T U D O R C O R N E A
2
• What is Open-Source
• Benefits of Open-Source
• Contributing to Open-Source Projects
• Case Study: DPDK
• Lessons Learned
3
4
• “Open-Source software is code that is designed to be publicly accessible—anyone can see,
modify, and distribute the code as they see fit.”
• “Open-Source software is developed in a decentralized and collaborative way, relying on peer
review and community production. Open-Source software is often cheaper, more flexible, and has
more longevity than its proprietary peers because it is developed by communities rather than a
single author or company.”
• [1] https://www.redhat.com/en/topics/open-source/what-is-open-source
5
[1] https://moqod-software.medium.com/understanding-open-source-and-free-software-licensing-c0fa600106c9
6
[1] https://moqod-software.medium.com/understanding-open-source-and-free-software-licensing-c0fa600106c9
7
• ~ 200 3rdParty packages (mostly Open-Source)
• 9 out of 10 companies use Open-Source [1]
• Open-Source is perceived to be more secure than Proprietary Software
• [1] https://openuk.uk/wp-content/uploads/2021/10/openuk-state-of-open_final-version.pdf
• [2] https://www.redhat.com/en/resources/state-of-enterprise-open-source-report-2022
8
• Upgrading from Version x to Version x + 1
• Requires re-applying old Patches
• Integration Work
9
• Good Practice
• Vulnerabilities
• Software Bugs
• Improved Performance
• New Features
10
Porting Patches is often non-trivial work
11
• Almost 10 years old
• 100s of custom kernel patches
• Latest kernel: 5.17 (March 2022)
• No access to newer-developed features like eBPF, or XDP 
12
• Libraries to Accelerate Packet Processing
• Widely used when building Virtual Networking Functions
• Used in our product
• …
• And at least 6 other teams inside the company
13
• 17.11 – Initial version in the product
• 17.11 -> 18.11 : 3 Patches
• 18.11 -> 19.11 : 11 Patches
• 19.11 -> 20.11 : 16 Patches
• 20.11 -> 21.11 : 11 Patches *
• (*) Started upstreaming patches since 20.11
14
The Not so Good
• Takes Time 
• Maintainers might be slow to respond
• Some patches might be too specific
• “Give away competitive advantage”
The Good
• Helping the community
• Helping other teams in the company
• Less effort in migrating to newer versions
• Peer Review
The Necessary
• GPL Compliance
15
• Identify candidate patches
• Be sure there are no Legal roadblocks
• Each project has a designated Maintainer
• Each project might have its own way of contributing
• Examples:
• Hosted on public Git Repository
• Fork Repository + Pull Request
• Send patches on a mailing list
• The Linux Kernel
• DPDK
16
[1] https://doc.dpdk.org/guides/contributing/patches.html
[2] https://doc.dpdk.org/guides/contributing/coding_style.html#coding-style
17
https://github.com/DPDK/dpdk/blob/main/MAINTAINERS
18
• Create patches with git-format-patch
• Use ./devtools/checkpatches.sh
• Create a good commit log message
• Why the patch is needed
• What the patch implements
• How the patch is implemented
• Send patch to dev@dpdk.org
• Register to Patchwork
• https://patches.dpdk.org/
• Maintenance
• stable@dpdk.org
19
• 8 Patches have already been accepted
• Upstreaming Process could be slow
• Need a lot of patience 
• Reduce customization
• Try to make the patches more generic
• Kni patch for configuring kthread granularity
• AF_Packet support for VLAN stripping
• Unit Tests help with integration effort
• Don’t let nr. of patches get out of hand !
20
• Proper tools could make life easier
• Outlook
• Bad formatting
• Top Posting
• Mutt
• Thunderbird
• [1] https://www.kernel.org/doc/html/v4.11/process/email-clients.html
E-Mail Etiquette
Top Posting
Bottom Posting
Interleaved Posting
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
> Q: The meeting has been postponed to next Friday.
A: Has the deadline for the report been moved too?
21
• More Bugfixes
• New Features
• Offloads support for certain drivers
• Apply the same approach to other projects ?
• Upstream-First development ?
22
Upstreaming could help reduce the
patching work while upgrading
23
• The Four Freedoms of Free Software
• https://www.gnu.org/philosophy/free-sw.en.html
• Open Source
• https://www.whitesourcesoftware.com/resources/blog/open-source-licenses-explained/
• https://moqod.com/blog/how-to-avoid-intellectual-property-rights-traps-in-software-development/
• Contributing to DPDK
• https://doc.dpdk.org/guides/contributing/patches.html
• https://doc.dpdk.org/guides/contributing/coding_style.html#coding-style

More Related Content

Similar to Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10

Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupChris Aniszczyk
 
Effectively using Open Source with conda
Effectively using Open Source with condaEffectively using Open Source with conda
Effectively using Open Source with condaTravis Oliphant
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!Pradeep Singh
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015Henry Huang
 
Freifunk Munich - How to scale Jitsi
Freifunk Munich - How to scale JitsiFreifunk Munich - How to scale Jitsi
Freifunk Munich - How to scale JitsiAnnika Wickert
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetDavide Cavalca
 
Start your open source project
Start your open source projectStart your open source project
Start your open source projectAhmed Othman
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationNick Josevski
 
Vimeo and Open Source (SMPTE Forum 2015)
Vimeo and Open Source (SMPTE Forum 2015)Vimeo and Open Source (SMPTE Forum 2015)
Vimeo and Open Source (SMPTE Forum 2015)Derek Buitenhuis
 
Managing Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub EraManaging Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub EranexB Inc.
 
Guidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in EvergreenGuidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in Evergreenloriayre
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Demi Ben-Ari
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Controlindiver
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Bruno Capuano
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4aspyker
 
Managing Open Source Software Supply Chains
Managing Open Source Software Supply ChainsManaging Open Source Software Supply Chains
Managing Open Source Software Supply ChainsnexB Inc.
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev opsLen Bass
 

Similar to Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10 (20)

Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Effectively using Open Source with conda
Effectively using Open Source with condaEffectively using Open Source with conda
Effectively using Open Source with conda
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
Open Development
Open DevelopmentOpen Development
Open Development
 
Freifunk Munich - How to scale Jitsi
Freifunk Munich - How to scale JitsiFreifunk Munich - How to scale Jitsi
Freifunk Munich - How to scale Jitsi
 
Upgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleetUpgrading CentOS on the Facebook fleet
Upgrading CentOS on the Facebook fleet
 
Case study
Case studyCase study
Case study
 
Start your open source project
Start your open source projectStart your open source project
Start your open source project
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable application
 
Vimeo and Open Source (SMPTE Forum 2015)
Vimeo and Open Source (SMPTE Forum 2015)Vimeo and Open Source (SMPTE Forum 2015)
Vimeo and Open Source (SMPTE Forum 2015)
 
Managing Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub EraManaging Open Source Software in the GitHub Era
Managing Open Source Software in the GitHub Era
 
Guidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in EvergreenGuidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in Evergreen
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
 
Make It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version ControlMake It Cooler: Using Decentralized Version Control
Make It Cooler: Using Decentralized Version Control
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
Managing Open Source Software Supply Chains
Managing Open Source Software Supply ChainsManaging Open Source Software Supply Chains
Managing Open Source Software Supply Chains
 
Introduction to dev ops
Introduction to dev opsIntroduction to dev ops
Introduction to dev ops
 

Recently uploaded

VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Roomdivyansh0kumar0
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...SofiyaSharma5
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...aditipandeya
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsstephieert
 

Recently uploaded (20)

VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Ishita 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Ishita 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Radiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girlsRadiant Call girls in Dubai O56338O268 Dubai Call girls
Radiant Call girls in Dubai O56338O268 Dubai Call girls
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 

Why It’s Important to Contribute to Open-Source Projects | Keysight Connect #10

  • 1. 1 T U D O R C O R N E A
  • 2. 2 • What is Open-Source • Benefits of Open-Source • Contributing to Open-Source Projects • Case Study: DPDK • Lessons Learned
  • 3. 3
  • 4. 4 • “Open-Source software is code that is designed to be publicly accessible—anyone can see, modify, and distribute the code as they see fit.” • “Open-Source software is developed in a decentralized and collaborative way, relying on peer review and community production. Open-Source software is often cheaper, more flexible, and has more longevity than its proprietary peers because it is developed by communities rather than a single author or company.” • [1] https://www.redhat.com/en/topics/open-source/what-is-open-source
  • 7. 7 • ~ 200 3rdParty packages (mostly Open-Source) • 9 out of 10 companies use Open-Source [1] • Open-Source is perceived to be more secure than Proprietary Software • [1] https://openuk.uk/wp-content/uploads/2021/10/openuk-state-of-open_final-version.pdf • [2] https://www.redhat.com/en/resources/state-of-enterprise-open-source-report-2022
  • 8. 8 • Upgrading from Version x to Version x + 1 • Requires re-applying old Patches • Integration Work
  • 9. 9 • Good Practice • Vulnerabilities • Software Bugs • Improved Performance • New Features
  • 10. 10 Porting Patches is often non-trivial work
  • 11. 11 • Almost 10 years old • 100s of custom kernel patches • Latest kernel: 5.17 (March 2022) • No access to newer-developed features like eBPF, or XDP 
  • 12. 12 • Libraries to Accelerate Packet Processing • Widely used when building Virtual Networking Functions • Used in our product • … • And at least 6 other teams inside the company
  • 13. 13 • 17.11 – Initial version in the product • 17.11 -> 18.11 : 3 Patches • 18.11 -> 19.11 : 11 Patches • 19.11 -> 20.11 : 16 Patches • 20.11 -> 21.11 : 11 Patches * • (*) Started upstreaming patches since 20.11
  • 14. 14 The Not so Good • Takes Time  • Maintainers might be slow to respond • Some patches might be too specific • “Give away competitive advantage” The Good • Helping the community • Helping other teams in the company • Less effort in migrating to newer versions • Peer Review The Necessary • GPL Compliance
  • 15. 15 • Identify candidate patches • Be sure there are no Legal roadblocks • Each project has a designated Maintainer • Each project might have its own way of contributing • Examples: • Hosted on public Git Repository • Fork Repository + Pull Request • Send patches on a mailing list • The Linux Kernel • DPDK
  • 18. 18 • Create patches with git-format-patch • Use ./devtools/checkpatches.sh • Create a good commit log message • Why the patch is needed • What the patch implements • How the patch is implemented • Send patch to dev@dpdk.org • Register to Patchwork • https://patches.dpdk.org/ • Maintenance • stable@dpdk.org
  • 19. 19 • 8 Patches have already been accepted • Upstreaming Process could be slow • Need a lot of patience  • Reduce customization • Try to make the patches more generic • Kni patch for configuring kthread granularity • AF_Packet support for VLAN stripping • Unit Tests help with integration effort • Don’t let nr. of patches get out of hand !
  • 20. 20 • Proper tools could make life easier • Outlook • Bad formatting • Top Posting • Mutt • Thunderbird • [1] https://www.kernel.org/doc/html/v4.11/process/email-clients.html E-Mail Etiquette Top Posting Bottom Posting Interleaved Posting A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing in e-mail? > Q: The meeting has been postponed to next Friday. A: Has the deadline for the report been moved too?
  • 21. 21 • More Bugfixes • New Features • Offloads support for certain drivers • Apply the same approach to other projects ? • Upstream-First development ?
  • 22. 22 Upstreaming could help reduce the patching work while upgrading
  • 23. 23 • The Four Freedoms of Free Software • https://www.gnu.org/philosophy/free-sw.en.html • Open Source • https://www.whitesourcesoftware.com/resources/blog/open-source-licenses-explained/ • https://moqod.com/blog/how-to-avoid-intellectual-property-rights-traps-in-software-development/ • Contributing to DPDK • https://doc.dpdk.org/guides/contributing/patches.html • https://doc.dpdk.org/guides/contributing/coding_style.html#coding-style