Skip to content

Latest commit

Β 

History

History
500 lines (317 loc) Β· 9.87 KB

File metadata and controls

500 lines (317 loc) Β· 9.87 KB
include OpenHack

author = Presenter.new(:buren)
slides = OpenSource::Slides.new

wait until author.ready?

author.present(slides) do |slide|
  print slide
  any_questions? if slide.last?
end

http://jacobburenstam.com/openhack-open-source


Guide | Empower | Connect


Slides

jacobburenstam.com/openhack-open-source


Have you contributed to Open source?

Open source? No Not yet.. A bit A lot

Do you use open source?

Yes No

Disclaimer

  • Personal opinions, not the opinions of my employer.
  • YMMV - Your mileage may vary)
  • IANAL - I'm not a lawyer

Jacob Burenstam

  • Open source tinkerer
  • Useless code enthusiast
  • Co-Founder and CTO at Just Arrived


I love open source


This slide deck is open source

github.com/buren/openhack-open-source


Just Arrived is open source ❀️

github.com/justarrived

P.S We're hiring


@buren ❀️ open source

  • Active in open source for over 5 years
  • Contributed to >30 OSS projects
  • Open source libs/projects of my own
    • Just Arrived is by far the largest πŸ˜‰

❀️ Hackathons

  • Android TV, Hackathon winner @ Google
    • "Read automatic captions and use NLP to link various topics to Wikipedia, Maps, IMDB etc"
  • Just Arrived got started at OpenHack!

Agenda


Intro

  • What is open source?
  • Licenses, MIT, GPL etc πŸ“š
  • Richard Stallman & Linus Torvalds :neckbeard:

What is open source?


  • What is open source?
  • Licenses, MIT, GPL etc πŸ“š
  • Richard Stallman & Linus Torvalds :neckbeard:

Licenses, MIT, GPL etc πŸ“š


  • What is open source?
  • Licenses, MIT, GPL etc πŸ“š
  • Richard Stallman & Linus Torvalds :neckbeard:

Richard Stallman & Linus Torvalds :neckbeard:

Completely different views on open source. Even though both are considered open source "heroes".

I didn't want code, I wanted comments. - Linus Torvalds

If you use a proprietary program, you're defenceless. - Richard Stallman


  • What is open source?
  • Licenses, MIT, GPL etc πŸ“š
  • Richard Stallman & Linus Torvalds :neckbeard:

Questions or comments?


Open Source Business


Open Source Business


Open source companies 🏒

  • Sentry (sentry.io)
  • Just Arrived
  • Discourse
  • Neo4J
  • ...


Open source risks? πŸ”’


  • Open source companies 🏒
  • Open source risks? πŸ”’

Questions or comments?


Open Source Motivation πŸ’ͺ


Open Source Motivation πŸ’ͺ

  • Why are all these developers giving away their code? 😱
    • Hobbyist, Hackers, Tinkerers
    • Curiosity
  • Its fun and unexpected stuff happens!
    • Writing a brainfuck interpreter in a 20-day-old language
    • Archiving certain USGOV sites in response to Trump

Why are all these developers giving away their code? 😱

  • Hobbyist, Hackers, Tinkerers
  • Curiosity

What is your motivation?


Its fun and unexpected stuff happens!


Two stories of my own


Writing a brainfuck interpreter in a 20-day-old language.


Vivaldi - Hacker News


Current examples


I wonder if I can write a

brainfuck interpreter with Vivaldi

πŸ€”


Vivaldi

Github issue #1





😻


Archiving certain USGOV sites in response to Trump

Professors were scared that the Trump administration would withdraw funding for certain gov-sites.

They started mass-archiving sites to the Internet Archive.


github.com/buren/wayback_archiver

venturebeat.com: 200TB gov-data backed up to Internet Archive


Questions or comments?


Big open sourceβ„’


Big open sourceβ„’

  • Modern open source
    • Google (TensorFlow, Kubernetes, Angular, ...)
    • Facebook (React, HHVM, jest, ...) and what about their patent-clause?
    • Microsoft, yes Microsoft.. (dotnet, vscode, TypeScript, ..)
  • Could open source be used in new places?
    • Outside of software?
    • Open source banks? governments?
    • Why aren't governments institutions open sourcing their code???
      • WHY?!?#!@#^! πŸ”ͺ

Modern open source

  • Google (TensorFlow, Kubernetes, Angular, ...)
  • Facebook (React, HHVM, jest, ...) and what about their patent-clause?
  • Microsoft, yes Microsoft.. (dotnet, vscode, TypeScript, ..)

  • Modern open source
  • Could open source be used in new places?
    • Outside of software?
    • Open source banks? governments?
    • Why aren't governments institutions open sourcing their code???
      • WHY?!?#!@#^! πŸ”ͺ

Could open source be used in new places?

  • Open source banks? governments?
  • Why aren't governments institutions open sourcing their code???
    • WHY?!?#!@#^! πŸ”ͺ
  • Outside of software?

  • Modern open source
  • Could open source be used in new places?

Questions or comments?


Contribute to open source


Contribute to open source

  • How can I get started contributing?
    • Contributing to a OSS project
    • Building a OSS project

How can I get started contributing?

  • Contributing to a OSS project
    • Start small
    • Read some old pull requests and issues
    • Validate that your change is needed
    • Be nice πŸ˜ƒ
    • Spend time on writing good issues and pull requests
  • Building a OSS project
    • Build something yourselves
    • Being a maintainer can be hard
    • People are not always nice

Remember the code from the first slide?

include OpenHack

author = Presenter.new(:buren)
slides = OpenSource::Slides.new

wait until author.ready?

author.present(slides) do |slide|
  print slide
  any_questions? if slide.last?
end

DEADLINE = Time.new(2017, 6, 3, 14, 30, 0).freeze
module OpenHack;end
module OpenHack::OpenSource;end
String.class_eval { define_method(:last?) { false } }
NilClass.class_eval { define_method(:last?) { true } }
define_method(:wait) { puts 'Still not ready..';sleep 3 }
define_method(:any_questions?) { puts 'Any questions?' }
define_method(:feedback) { puts 'Feedback?' }
class OpenHack::Presenter < Struct.new(:name)
  define_method(:ready?) { Time.now >= DEADLINE }
  def present(slides); slides.to_a.each { |slide| yield(slide) };end
end
class OpenHack::OpenSource::Slides
  define_method(:initialize) { @slides = File.read('slides.md').split('---') }
  define_method(:to_a) { @slides + [nil] }
end

This actually makes the previous code work :trollface:


GitHub logo


Build something awesome


Build something

open source


Guide | Empower | Connect


Questions?

github.com/buren

github.com/justarrived

We're hiring 😻


Guide | Empower | Connect

<script src="js/libs/jquery.js"></script> <script src="https://www.google.com/jsapi"></script> <script src="js/libs/chartkick.js"></script> <script src="js/log.js"></script> <script src="js/resize-hack.js"></script> <script> PollerConfig = { url: 'https://throwawaypoll.herokuapp.com' }; </script> <script src="js/poller.js"></script> <script src="js/poller-dom.js"></script> <script> PollerConfig = { url: 'https://throwawaypoll.herokuapp.com' }; </script>