ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Opening up Open Source
derek@videolan.org
@daemon404
Derek Buitenhuis
6 December 2019
Budapest, Hungary
NTTW4
Who am I?
16 December 2019
? Senior Video Engineer @ Vimeo
? Don¡¯t have any forks internally, very few in total. We contribute it back.
? Contribute to many projects via Vimeo, e.g. invested in rav1e development.
? VideoLAN Non-Profit Board Member
? Contributing to FOSS since 2003 (started with X-Chat!)
? Active FFmpeg community member for many years, but less so now.
? Contributions to various FOSS projects like rav1e, L-SMASH, FFMS2,
FFV1, x264, etc. as well as many Go packages and some personal
projects like BXD and d2vsource.
NTTW4
What is This?
26 December 2019
? Should provide a good foundation and understanding of FOSS, why it¡¯s important,
and how you can get started contributing (and why you should).
? How you can meaningfully interact with open source communities.
? These are all general tips and soft rules rather than hard rules.
? Ultimately, it¡¯s up to the community of the project.
? Common sense applies.
? I am not an authority, just some guy who likes to send patches and cares about multimedia.
NTTW4
Why Should I Care About Open Source?
36 December 2019
? Reverse Question: What legitimate (i.e. not ¡°makes management happy¡±) reasons can you think
of to prefer proprietary software for archival or media pipelines?
? Probably exactly two: Support, and ¡°because media industry specs are nasty and complex, and
only this one special piece of software handles all the undocumented parts¡±.
? Proprietary vendors love to spread FUD (fear, uncertainty, and doubt) about FOSS.
? When it comes to digital media, most of them use some or a lot of FOSS under the hood.
? Can you actually understand deeply what happens in this software? Is this good enough for
future proofing? Will you be able to read or at least understand these files in 40+ years?
? Example: Putting copies of source code and specs directly on the media in which the
archive exists.
? How many eyes have seen the code? Is it enough to vouch for its quality?
NTTW4
Why Should I Care About Open Source? (Cont¡¯d)
46 December 2019
? Have you ever had a problem with some proprietary where you spend days trying to fix it only
to talk to someone a year later and find out they suffered the same fate? Open bug trackers matter.
? On support: Many projects have paid support options (VideoLabs, MediaArea) or developer are
available for paid work.
? You may not even need paid support (other than to make management happy).
? Many community members and developers want to make the software better, and
polite feature requests or file bugs can be sufficient.
? Maybe you can do it! It¡¯s probably less difficult than you think, and most projects welcome
new help with open arms, and can mentor you. It all comes down to time.
? Thought: The cost of an employee¡¯s salary vs any given support contract or software license.
? None of this is to say proprietary software doesn¡¯t have its place and value.
NTTW4
OK, I Use Open Source. But Why Contribute?
56 December 2019
? It¡¯s better for your time: Getting to know the community and its documents or code, for a project
that you use every day, or at least often, will save you time and effort in figuring how do do
things, how fix things, etc.
? Less burden: Any internal patches or forks may seem fine at the time, but their maintenance burden
increases all the time. Someone besides you can have a chance to understand it.
? It benefits your ecosystem as a whole: More standard implementations, less diverging, better interop.
? Influence: It lets you have a say on how the projects you use are developed and work.
? It helps others!
? It¡¯s fun!
NTTW4
Getting Started
66 December 2019
? Code is not the only way to contribute to FOSS.
? Documentation help is always welcome, be it technical documentation, user guides, wiki articles,
comments, etc.
? Bug tracker help, forums, replies, user support in general (e.g. #ffmpeg vs #ffmpeg-devel).
? Supply test files that can reproduce issues or test certain features ¨C it¡¯s harder to find these
than you think!
? Code:
? Have a pet issue? Try to fix it and submit!
? Check the bug tracker, wiki, or IRC/Slack for good starting points.
? Maybe you just wanna do something for fun!
NTTW4
Before You Contribute
76 December 2019
? Read any rules available! This includes: Any code of conduct, IRC or mailing list rules, code style,
patch submission, developer documentation, wiki etiquette, documentation rules, CLAs, etc.
? Learn any required tools (usually simply): Mailing lists, git send-email / format-patch, GitHub, etc.
? Please don¡¯t insist on e.g. using GitHub PRs when a project uses a mailing list for patches.
? Make sure you communicate using the right channel.
? The correct mailing list (-dev vs -user) or IRC/Slack channel.
? Don¡¯t email developers directly/privately without knowing they¡¯re OK with this.
? Most of this is common sense, but you would be surprised how many potential new contributors
do not. You will start off on a good note if you do!
? Don¡¯t be That User? who complains about everything and how they would do it better, but never does.
? These are just guidelines; every project is different.
NTTW4
Humans Gonna Human
86 December 2019
? Be polite, genuine, and if necessary, technical.
? Well thought out and concise prose is a huge benefit for effective communication.
? Contribute meaningfully, don¡¯t just add noise like ¡®+1¡¯ or ¡®ping¡¯ every thread.
? Asking questions is generally encouraged, but try to find an answer in e.g. documentation first.
? More often than not, people are glad to help.
? Do not act entitled; nobody owes your contributions or opinion extra attention over others.
? Minimize the barrier to adoption:
? Fully test (as much as feasible) your contributions.
? Provide well written rationale for your changes.
? Provide any necessary context, background, etc.
? Be open to polite critical feedback on your contributions, technical or otherwise ¨C quality
benefits everyone in the long run.
NTTW4
Humans Gonna Human 2: A Wild Jerk Appeared
96 December 2019
? Try not to take it personally, at least at first.
? Everyone is human and has bad days, but consistent poor behavior is a different beast.
? If it is consistent, it is worth raising it up to the community at large to try and rectify it.
? There should be a proper channel for this, usually.
? Sadly, not every community has a proper enforceable Code of Conduct.
? Make sure you¡¯re not conflating technical criticism with jerkiness.
? Do NOT hit reply immediately and type out a 10 page retort. An upset in-the-moment reply
generally begets more of the same, and flame wars benefit nobody.
? Remain polite, explain your stance, and mention they¡¯ve acted unacceptably.
? If they¡¯ve noted any legitimate issues (while being a jerk): Address and/or fix them.
? But remember: This is your time and energy, and you should spend it where you enjoy. You are
not required to have ¡°thick skin¡± to contribute, or at least, you should not be.
NTTW4
DIY
106 December 2019
? Established large projects are not the only way to contribute to open source.
? Why not create your own repo / project?
? Maybe you have useful scripts or tools that can benefit others.
? Create a healthier ecosystem in your niche or industry.
? You are the one responsible setting contribution guidelines and the code of conduct.
? A.K.A. No jerks unless accepted (unless you¡¯re a jerk, of course).
? Can make your internal tools more useful and robust via outside contributors.
? Your tool is not too niche to be useful to others! A lot of proprietary software exists to cover these niches
because nobody has written anything open.
? Of course this depends heavily on what your job is a ¡°secret sauce¡± is.
? I don¡¯t see any reason archivists should shy away from sharing for mutual benefit.
? Maybe you just want to do it for fun.
NTTW4
A Good Example: FFV1
116 December 2019
? Has an open specification, and multiple tested implementations.
? No licensing fees, NDAs, or paywalled specifications.
? Has paid support available via MediaArea.
? Extra specific features like niche ingest color spaces and pixel formats.
? Open and polite mailing list and GitHub repositories, with accessible developers.
? Open spec meant more can easily implement it, but more importantly, improve upon
existing implementations and the spec itself. More eyes means more robust.
? Is ¡°future proof¡± in that it is both fully specified and implemented with licenses permissible
enough to allow embedding in media and understanding by future archivists.
? Adoption is reflecting this.
? Documented way to contribute and code of conduct.
NTTW4
Another Good Example: rav1e
126 December 2019
? rav1e is an open source AV1 encoder written in Rust
? A good mix of paid developers (Mozilla, Vimeo) and hobbyists
? Very inclusive community
? Very willing to spend time with new contributors to help them learn, be it Rust, difficult encoder
concepts like optimal RDO.
? Big on community outreach (conferences, news, Reddit, events like IBC)
? Weekly open-to-all voice chat meetings on its roadmap
? More concerned with the long term viability and adoption AV1 ecosystem and community than code
dumping hacks to get a kind of good encoder right away.
? Documented developer guidelines and tools to enforce these.
NTTW4
Conclusion
136 December 2019
? You should care about Open Source, especially as archivists.
? More eyes = more robust.
? Long term viability.
? Healthy ecosystems matter.
? Contributing isn¡¯t that scary!
? There are plenty of ways to contribute.
? Documentation (for developers and for users) is important.
? Everyone is human, even the jerks.
NTTW4
146 December 2019 NTTW4
Questions?

More Related Content

What's hot (10)

Bridging the Gap - Laracon 2013
Bridging the Gap - Laracon 2013Bridging the Gap - Laracon 2013
Bridging the Gap - Laracon 2013
Ben Corlett
?
Porque Odeio Branches
Porque Odeio BranchesPorque Odeio Branches
Porque Odeio Branches
Rafael Petry
?
Perl-Critic
Perl-CriticPerl-Critic
Perl-Critic
Jonas Br?ms?
?
Trunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsTrunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and Economics
Perforce
?
201811xx foredrag c_cpp
201811xx foredrag c_cpp201811xx foredrag c_cpp
201811xx foredrag c_cpp
InfinIT - Innovationsnetv?rket for it
?
Scratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieScratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry Pie
ESUG
?
Software licenses: short unofficial overview
Software licenses: short unofficial overviewSoftware licenses: short unofficial overview
Software licenses: short unofficial overview
Visma Lietuva
?
Intro
IntroIntro
Intro
tutorialsruby
?
IPv6 Security
IPv6 SecurityIPv6 Security
IPv6 Security
Skeeve Stevens
?
Shooting clay pidgins
Shooting clay pidginsShooting clay pidgins
Shooting clay pidgins
volvent
?
Bridging the Gap - Laracon 2013
Bridging the Gap - Laracon 2013Bridging the Gap - Laracon 2013
Bridging the Gap - Laracon 2013
Ben Corlett
?
Porque Odeio Branches
Porque Odeio BranchesPorque Odeio Branches
Porque Odeio Branches
Rafael Petry
?
Trunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsTrunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and Economics
Perforce
?
Scratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry PieScratching the itch, making Scratch for the Raspberry Pie
Scratching the itch, making Scratch for the Raspberry Pie
ESUG
?
Software licenses: short unofficial overview
Software licenses: short unofficial overviewSoftware licenses: short unofficial overview
Software licenses: short unofficial overview
Visma Lietuva
?
Shooting clay pidgins
Shooting clay pidginsShooting clay pidgins
Shooting clay pidgins
volvent
?

Similar to Opening up Open Source (20)

Marketing Your Open Source Project
Marketing Your Open Source ProjectMarketing Your Open Source Project
Marketing Your Open Source Project
deirdrestraughan
?
Making Gentoo Tick
Making Gentoo TickMaking Gentoo Tick
Making Gentoo Tick
Anant Narayanan
?
NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024
Bert Jan Schrijver
?
NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1
Bert Jan Schrijver
?
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
?
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
CodeFest
?
What every successful open source project needs
What every successful open source project needsWhat every successful open source project needs
What every successful open source project needs
Steven Francia
?
Career Hacks for Developers
Career Hacks for DevelopersCareer Hacks for Developers
Career Hacks for Developers
BarElin
?
NLJUG speaker academy 2022 - session 1
NLJUG speaker academy 2022 - session 1NLJUG speaker academy 2022 - session 1
NLJUG speaker academy 2022 - session 1
Bert Jan Schrijver
?
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Ahmet Bulut
?
Technical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD NigeriaTechnical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD Nigeria
Margaret Fero
?
SFO15-TR1: The Philosophy of Open Source Development
SFO15-TR1: The Philosophy of Open Source DevelopmentSFO15-TR1: The Philosophy of Open Source Development
SFO15-TR1: The Philosophy of Open Source Development
Linaro
?
Micheal Monty Widenius - Free Open Source Software Entrepreneurship
Micheal Monty Widenius -  Free Open Source Software EntrepreneurshipMicheal Monty Widenius -  Free Open Source Software Entrepreneurship
Micheal Monty Widenius - Free Open Source Software Entrepreneurship
South Tyrol Free Software Conference
?
How can i... reduce my backup window.
How can i... reduce my backup window.How can i... reduce my backup window.
How can i... reduce my backup window.
Andrew Nicholson
?
Chris Covell Collaboration for distributed teams
Chris Covell   Collaboration for distributed teamsChris Covell   Collaboration for distributed teams
Chris Covell Collaboration for distributed teams
Agile Lietuva
?
Self11
Self11Self11
Self11
Dru Lavigne
?
Contributing to Open Source Software
Contributing to Open Source SoftwareContributing to Open Source Software
Contributing to Open Source Software
Mike Lively
?
A guide to make your research less successful
A guide to make your research less successfulA guide to make your research less successful
A guide to make your research less successful
Hannes Tschofenig
?
Techorama 2022 - Adventures of building Promitor, an open-source product
Techorama 2022 - Adventures of building Promitor, an open-source productTechorama 2022 - Adventures of building Promitor, an open-source product
Techorama 2022 - Adventures of building Promitor, an open-source product
Tom Kerkhove
?
Project considerations etp
Project considerations etpProject considerations etp
Project considerations etp
missko
?
Marketing Your Open Source Project
Marketing Your Open Source ProjectMarketing Your Open Source Project
Marketing Your Open Source Project
deirdrestraughan
?
NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024NLJUG speaker academy 2024 - session 1, June 2024
NLJUG speaker academy 2024 - session 1, June 2024
Bert Jan Schrijver
?
NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1
Bert Jan Schrijver
?
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
?
Michael Widenius
Michael WideniusMichael Widenius
Michael Widenius
CodeFest
?
What every successful open source project needs
What every successful open source project needsWhat every successful open source project needs
What every successful open source project needs
Steven Francia
?
Career Hacks for Developers
Career Hacks for DevelopersCareer Hacks for Developers
Career Hacks for Developers
BarElin
?
NLJUG speaker academy 2022 - session 1
NLJUG speaker academy 2022 - session 1NLJUG speaker academy 2022 - session 1
NLJUG speaker academy 2022 - session 1
Bert Jan Schrijver
?
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Ahmet Bulut
?
Technical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD NigeriaTechnical Writing Overview: WTD Nigeria
Technical Writing Overview: WTD Nigeria
Margaret Fero
?
SFO15-TR1: The Philosophy of Open Source Development
SFO15-TR1: The Philosophy of Open Source DevelopmentSFO15-TR1: The Philosophy of Open Source Development
SFO15-TR1: The Philosophy of Open Source Development
Linaro
?
How can i... reduce my backup window.
How can i... reduce my backup window.How can i... reduce my backup window.
How can i... reduce my backup window.
Andrew Nicholson
?
Chris Covell Collaboration for distributed teams
Chris Covell   Collaboration for distributed teamsChris Covell   Collaboration for distributed teams
Chris Covell Collaboration for distributed teams
Agile Lietuva
?
Contributing to Open Source Software
Contributing to Open Source SoftwareContributing to Open Source Software
Contributing to Open Source Software
Mike Lively
?
A guide to make your research less successful
A guide to make your research less successfulA guide to make your research less successful
A guide to make your research less successful
Hannes Tschofenig
?
Techorama 2022 - Adventures of building Promitor, an open-source product
Techorama 2022 - Adventures of building Promitor, an open-source productTechorama 2022 - Adventures of building Promitor, an open-source product
Techorama 2022 - Adventures of building Promitor, an open-source product
Tom Kerkhove
?
Project considerations etp
Project considerations etpProject considerations etp
Project considerations etp
missko
?

Recently uploaded (20)

Leadership Spectrum by Sonam Sherpa at GDG Kathmandu March Monthly Meetup
Leadership Spectrum by Sonam Sherpa at GDG Kathmandu March Monthly MeetupLeadership Spectrum by Sonam Sherpa at GDG Kathmandu March Monthly Meetup
Leadership Spectrum by Sonam Sherpa at GDG Kathmandu March Monthly Meetup
GDG Kathmandu
?
CIOs Speak Out - A Research Series by Jasper Colin
CIOs Speak Out - A Research Series by Jasper ColinCIOs Speak Out - A Research Series by Jasper Colin
CIOs Speak Out - A Research Series by Jasper Colin
Jasper Colin
?
Smarter RAG Pipelines: Scaling Search with Milvus and Feast
Smarter RAG Pipelines: Scaling Search with Milvus and FeastSmarter RAG Pipelines: Scaling Search with Milvus and Feast
Smarter RAG Pipelines: Scaling Search with Milvus and Feast
Zilliz
?
Transactional Outbox & Inbox Patterns.pptx
Transactional Outbox & Inbox Patterns.pptxTransactional Outbox & Inbox Patterns.pptx
Transactional Outbox & Inbox Patterns.pptx
Maysam Mousa
?
Solana Developer Hiring for Enterprises Key Considerations.pdf
Solana Developer Hiring for Enterprises Key Considerations.pdfSolana Developer Hiring for Enterprises Key Considerations.pdf
Solana Developer Hiring for Enterprises Key Considerations.pdf
Lisa ward
?
Migrating to the Isolated worker process in Azure Functions .pptx
Migrating to the Isolated worker process in Azure Functions .pptxMigrating to the Isolated worker process in Azure Functions .pptx
Migrating to the Isolated worker process in Azure Functions .pptx
Callon Campbell
?
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN NB-IoT LTE cat.M1ÉÌÆ·¥ê¥¹¥È
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN  NB-IoT  LTE cat.M1ÉÌÆ·¥ê¥¹¥ÈDragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN  NB-IoT  LTE cat.M1ÉÌÆ·¥ê¥¹¥È
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN NB-IoT LTE cat.M1ÉÌÆ·¥ê¥¹¥È
CRI Japan, Inc.
?
Least Privilege AWS IAM Role Permissions
Least Privilege AWS IAM Role PermissionsLeast Privilege AWS IAM Role Permissions
Least Privilege AWS IAM Role Permissions
Chris Wahl
?
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
DianaGray10
?
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryDataNew from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
BookNet Canada
?
AI in Talent Acquisition: Boosting Hiring
AI in Talent Acquisition: Boosting HiringAI in Talent Acquisition: Boosting Hiring
AI in Talent Acquisition: Boosting Hiring
Beyond Chiefs
?
Recruiting Tech: A Look at Why AI is Actually OG
Recruiting Tech: A Look at Why AI is Actually OGRecruiting Tech: A Look at Why AI is Actually OG
Recruiting Tech: A Look at Why AI is Actually OG
Matt Charney
?
Columbia Weather Systems - Product Overview
Columbia Weather Systems - Product OverviewColumbia Weather Systems - Product Overview
Columbia Weather Systems - Product Overview
Columbia Weather Systems
?
AI Driven Posture Analysis Fall Detection System for the Elderly.pdf
AI Driven Posture Analysis Fall Detection System for the Elderly.pdfAI Driven Posture Analysis Fall Detection System for the Elderly.pdf
AI Driven Posture Analysis Fall Detection System for the Elderly.pdf
Patrick Ogbuitepu
?
Building High-Impact Teams Beyond the Product Triad.pdf
Building High-Impact Teams Beyond the Product Triad.pdfBuilding High-Impact Teams Beyond the Product Triad.pdf
Building High-Impact Teams Beyond the Product Triad.pdf
Rafael Burity
?
Automating Behavior-Driven Development: Boosting Productivity with Template-D...
Automating Behavior-Driven Development: Boosting Productivity with Template-D...Automating Behavior-Driven Development: Boosting Productivity with Template-D...
Automating Behavior-Driven Development: Boosting Productivity with Template-D...
DOCOMO Innovations, Inc.
?
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdfCybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Joe Shenouda
?
Human Centered Design By Gnanasambandham
Human Centered Design By GnanasambandhamHuman Centered Design By Gnanasambandham
Human Centered Design By Gnanasambandham
Gnanasambandham Anbazhagan CSP, CSM, CSPO
?
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
David Brossard
?
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptxHHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HampshireHUG
?
Leadership Spectrum by Sonam Sherpa at GDG Kathmandu March Monthly Meetup
Leadership Spectrum by Sonam Sherpa at GDG Kathmandu March Monthly MeetupLeadership Spectrum by Sonam Sherpa at GDG Kathmandu March Monthly Meetup
Leadership Spectrum by Sonam Sherpa at GDG Kathmandu March Monthly Meetup
GDG Kathmandu
?
CIOs Speak Out - A Research Series by Jasper Colin
CIOs Speak Out - A Research Series by Jasper ColinCIOs Speak Out - A Research Series by Jasper Colin
CIOs Speak Out - A Research Series by Jasper Colin
Jasper Colin
?
Smarter RAG Pipelines: Scaling Search with Milvus and Feast
Smarter RAG Pipelines: Scaling Search with Milvus and FeastSmarter RAG Pipelines: Scaling Search with Milvus and Feast
Smarter RAG Pipelines: Scaling Search with Milvus and Feast
Zilliz
?
Transactional Outbox & Inbox Patterns.pptx
Transactional Outbox & Inbox Patterns.pptxTransactional Outbox & Inbox Patterns.pptx
Transactional Outbox & Inbox Patterns.pptx
Maysam Mousa
?
Solana Developer Hiring for Enterprises Key Considerations.pdf
Solana Developer Hiring for Enterprises Key Considerations.pdfSolana Developer Hiring for Enterprises Key Considerations.pdf
Solana Developer Hiring for Enterprises Key Considerations.pdf
Lisa ward
?
Migrating to the Isolated worker process in Azure Functions .pptx
Migrating to the Isolated worker process in Azure Functions .pptxMigrating to the Isolated worker process in Azure Functions .pptx
Migrating to the Isolated worker process in Azure Functions .pptx
Callon Campbell
?
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN NB-IoT LTE cat.M1ÉÌÆ·¥ê¥¹¥È
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN  NB-IoT  LTE cat.M1ÉÌÆ·¥ê¥¹¥ÈDragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN  NB-IoT  LTE cat.M1ÉÌÆ·¥ê¥¹¥È
Dragino¥×¥í¥À¥¯¥È¥«¥¿¥í¥° LoRaWAN NB-IoT LTE cat.M1ÉÌÆ·¥ê¥¹¥È
CRI Japan, Inc.
?
Least Privilege AWS IAM Role Permissions
Least Privilege AWS IAM Role PermissionsLeast Privilege AWS IAM Role Permissions
Least Privilege AWS IAM Role Permissions
Chris Wahl
?
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
SAP Automation with UiPath: Solution Accelerators and Best Practices - Part 6...
DianaGray10
?
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryDataNew from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
New from BookNet Canada for 2025: BNC SalesData and BNC LibraryData
BookNet Canada
?
AI in Talent Acquisition: Boosting Hiring
AI in Talent Acquisition: Boosting HiringAI in Talent Acquisition: Boosting Hiring
AI in Talent Acquisition: Boosting Hiring
Beyond Chiefs
?
Recruiting Tech: A Look at Why AI is Actually OG
Recruiting Tech: A Look at Why AI is Actually OGRecruiting Tech: A Look at Why AI is Actually OG
Recruiting Tech: A Look at Why AI is Actually OG
Matt Charney
?
AI Driven Posture Analysis Fall Detection System for the Elderly.pdf
AI Driven Posture Analysis Fall Detection System for the Elderly.pdfAI Driven Posture Analysis Fall Detection System for the Elderly.pdf
AI Driven Posture Analysis Fall Detection System for the Elderly.pdf
Patrick Ogbuitepu
?
Building High-Impact Teams Beyond the Product Triad.pdf
Building High-Impact Teams Beyond the Product Triad.pdfBuilding High-Impact Teams Beyond the Product Triad.pdf
Building High-Impact Teams Beyond the Product Triad.pdf
Rafael Burity
?
Automating Behavior-Driven Development: Boosting Productivity with Template-D...
Automating Behavior-Driven Development: Boosting Productivity with Template-D...Automating Behavior-Driven Development: Boosting Productivity with Template-D...
Automating Behavior-Driven Development: Boosting Productivity with Template-D...
DOCOMO Innovations, Inc.
?
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdfCybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Cybersecurity-Threat-Landscape-March-31-April-7-2025.pdf
Joe Shenouda
?
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
AuthZEN The OpenID Connect of Authorization - Gartner IAM EMEA 2025
David Brossard
?
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptxHHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HHUG-04-2025-Close-more-deals-from-your-existing-pipeline-FOR SLIDESHARE.pptx
HampshireHUG
?

Opening up Open Source

  • 1. Opening up Open Source derek@videolan.org @daemon404 Derek Buitenhuis 6 December 2019 Budapest, Hungary NTTW4
  • 2. Who am I? 16 December 2019 ? Senior Video Engineer @ Vimeo ? Don¡¯t have any forks internally, very few in total. We contribute it back. ? Contribute to many projects via Vimeo, e.g. invested in rav1e development. ? VideoLAN Non-Profit Board Member ? Contributing to FOSS since 2003 (started with X-Chat!) ? Active FFmpeg community member for many years, but less so now. ? Contributions to various FOSS projects like rav1e, L-SMASH, FFMS2, FFV1, x264, etc. as well as many Go packages and some personal projects like BXD and d2vsource. NTTW4
  • 3. What is This? 26 December 2019 ? Should provide a good foundation and understanding of FOSS, why it¡¯s important, and how you can get started contributing (and why you should). ? How you can meaningfully interact with open source communities. ? These are all general tips and soft rules rather than hard rules. ? Ultimately, it¡¯s up to the community of the project. ? Common sense applies. ? I am not an authority, just some guy who likes to send patches and cares about multimedia. NTTW4
  • 4. Why Should I Care About Open Source? 36 December 2019 ? Reverse Question: What legitimate (i.e. not ¡°makes management happy¡±) reasons can you think of to prefer proprietary software for archival or media pipelines? ? Probably exactly two: Support, and ¡°because media industry specs are nasty and complex, and only this one special piece of software handles all the undocumented parts¡±. ? Proprietary vendors love to spread FUD (fear, uncertainty, and doubt) about FOSS. ? When it comes to digital media, most of them use some or a lot of FOSS under the hood. ? Can you actually understand deeply what happens in this software? Is this good enough for future proofing? Will you be able to read or at least understand these files in 40+ years? ? Example: Putting copies of source code and specs directly on the media in which the archive exists. ? How many eyes have seen the code? Is it enough to vouch for its quality? NTTW4
  • 5. Why Should I Care About Open Source? (Cont¡¯d) 46 December 2019 ? Have you ever had a problem with some proprietary where you spend days trying to fix it only to talk to someone a year later and find out they suffered the same fate? Open bug trackers matter. ? On support: Many projects have paid support options (VideoLabs, MediaArea) or developer are available for paid work. ? You may not even need paid support (other than to make management happy). ? Many community members and developers want to make the software better, and polite feature requests or file bugs can be sufficient. ? Maybe you can do it! It¡¯s probably less difficult than you think, and most projects welcome new help with open arms, and can mentor you. It all comes down to time. ? Thought: The cost of an employee¡¯s salary vs any given support contract or software license. ? None of this is to say proprietary software doesn¡¯t have its place and value. NTTW4
  • 6. OK, I Use Open Source. But Why Contribute? 56 December 2019 ? It¡¯s better for your time: Getting to know the community and its documents or code, for a project that you use every day, or at least often, will save you time and effort in figuring how do do things, how fix things, etc. ? Less burden: Any internal patches or forks may seem fine at the time, but their maintenance burden increases all the time. Someone besides you can have a chance to understand it. ? It benefits your ecosystem as a whole: More standard implementations, less diverging, better interop. ? Influence: It lets you have a say on how the projects you use are developed and work. ? It helps others! ? It¡¯s fun! NTTW4
  • 7. Getting Started 66 December 2019 ? Code is not the only way to contribute to FOSS. ? Documentation help is always welcome, be it technical documentation, user guides, wiki articles, comments, etc. ? Bug tracker help, forums, replies, user support in general (e.g. #ffmpeg vs #ffmpeg-devel). ? Supply test files that can reproduce issues or test certain features ¨C it¡¯s harder to find these than you think! ? Code: ? Have a pet issue? Try to fix it and submit! ? Check the bug tracker, wiki, or IRC/Slack for good starting points. ? Maybe you just wanna do something for fun! NTTW4
  • 8. Before You Contribute 76 December 2019 ? Read any rules available! This includes: Any code of conduct, IRC or mailing list rules, code style, patch submission, developer documentation, wiki etiquette, documentation rules, CLAs, etc. ? Learn any required tools (usually simply): Mailing lists, git send-email / format-patch, GitHub, etc. ? Please don¡¯t insist on e.g. using GitHub PRs when a project uses a mailing list for patches. ? Make sure you communicate using the right channel. ? The correct mailing list (-dev vs -user) or IRC/Slack channel. ? Don¡¯t email developers directly/privately without knowing they¡¯re OK with this. ? Most of this is common sense, but you would be surprised how many potential new contributors do not. You will start off on a good note if you do! ? Don¡¯t be That User? who complains about everything and how they would do it better, but never does. ? These are just guidelines; every project is different. NTTW4
  • 9. Humans Gonna Human 86 December 2019 ? Be polite, genuine, and if necessary, technical. ? Well thought out and concise prose is a huge benefit for effective communication. ? Contribute meaningfully, don¡¯t just add noise like ¡®+1¡¯ or ¡®ping¡¯ every thread. ? Asking questions is generally encouraged, but try to find an answer in e.g. documentation first. ? More often than not, people are glad to help. ? Do not act entitled; nobody owes your contributions or opinion extra attention over others. ? Minimize the barrier to adoption: ? Fully test (as much as feasible) your contributions. ? Provide well written rationale for your changes. ? Provide any necessary context, background, etc. ? Be open to polite critical feedback on your contributions, technical or otherwise ¨C quality benefits everyone in the long run. NTTW4
  • 10. Humans Gonna Human 2: A Wild Jerk Appeared 96 December 2019 ? Try not to take it personally, at least at first. ? Everyone is human and has bad days, but consistent poor behavior is a different beast. ? If it is consistent, it is worth raising it up to the community at large to try and rectify it. ? There should be a proper channel for this, usually. ? Sadly, not every community has a proper enforceable Code of Conduct. ? Make sure you¡¯re not conflating technical criticism with jerkiness. ? Do NOT hit reply immediately and type out a 10 page retort. An upset in-the-moment reply generally begets more of the same, and flame wars benefit nobody. ? Remain polite, explain your stance, and mention they¡¯ve acted unacceptably. ? If they¡¯ve noted any legitimate issues (while being a jerk): Address and/or fix them. ? But remember: This is your time and energy, and you should spend it where you enjoy. You are not required to have ¡°thick skin¡± to contribute, or at least, you should not be. NTTW4
  • 11. DIY 106 December 2019 ? Established large projects are not the only way to contribute to open source. ? Why not create your own repo / project? ? Maybe you have useful scripts or tools that can benefit others. ? Create a healthier ecosystem in your niche or industry. ? You are the one responsible setting contribution guidelines and the code of conduct. ? A.K.A. No jerks unless accepted (unless you¡¯re a jerk, of course). ? Can make your internal tools more useful and robust via outside contributors. ? Your tool is not too niche to be useful to others! A lot of proprietary software exists to cover these niches because nobody has written anything open. ? Of course this depends heavily on what your job is a ¡°secret sauce¡± is. ? I don¡¯t see any reason archivists should shy away from sharing for mutual benefit. ? Maybe you just want to do it for fun. NTTW4
  • 12. A Good Example: FFV1 116 December 2019 ? Has an open specification, and multiple tested implementations. ? No licensing fees, NDAs, or paywalled specifications. ? Has paid support available via MediaArea. ? Extra specific features like niche ingest color spaces and pixel formats. ? Open and polite mailing list and GitHub repositories, with accessible developers. ? Open spec meant more can easily implement it, but more importantly, improve upon existing implementations and the spec itself. More eyes means more robust. ? Is ¡°future proof¡± in that it is both fully specified and implemented with licenses permissible enough to allow embedding in media and understanding by future archivists. ? Adoption is reflecting this. ? Documented way to contribute and code of conduct. NTTW4
  • 13. Another Good Example: rav1e 126 December 2019 ? rav1e is an open source AV1 encoder written in Rust ? A good mix of paid developers (Mozilla, Vimeo) and hobbyists ? Very inclusive community ? Very willing to spend time with new contributors to help them learn, be it Rust, difficult encoder concepts like optimal RDO. ? Big on community outreach (conferences, news, Reddit, events like IBC) ? Weekly open-to-all voice chat meetings on its roadmap ? More concerned with the long term viability and adoption AV1 ecosystem and community than code dumping hacks to get a kind of good encoder right away. ? Documented developer guidelines and tools to enforce these. NTTW4
  • 14. Conclusion 136 December 2019 ? You should care about Open Source, especially as archivists. ? More eyes = more robust. ? Long term viability. ? Healthy ecosystems matter. ? Contributing isn¡¯t that scary! ? There are plenty of ways to contribute. ? Documentation (for developers and for users) is important. ? Everyone is human, even the jerks. NTTW4
  • 15. 146 December 2019 NTTW4 Questions?