Fork this on GitHub

Open Source

& The MEAN Stack


Yonder Meet-up 2017

Created by Liran Tal / @lirantal

Today...

Short Quiz

Do you have a GitHub account?

Short Quiz

Have you contributed to Open Source in the past?

Short Quiz

Short Quiz

About Me

HPE Live Network

About Me

About Me

Actively contributing to Open Source projects

About Me

Core Team and Top Contributor to MEAN.JS framework

About Me

Contributing Open Source code to HPE Software products

Subtle Introduction to

Open Source

It all starts in the 1980s

Free Software Foundation

Free Software Foundation

Freedom to run the program, for any purpose, to study and change it, and to re-distribute copies of it as is or modified, all without requiring any consent"

GNU - GNU's Not Unix

  • The GNU Project
  • The GNU Hurd OS
  • The GNU Emacs editor

2001 interview:
Linux is not in the public domain. Linux is a cancer that attaches itself in an intellectual property sense to everything it touches. That's the way that the license works

Open Source Initiative

promoting the development methodology of open source software

What is Open Source?

Open Source describes a software license that ensures certain freedoms

Benefits of Open Source

Benefits of Open Source

  • View and Modify the Software
  • Free Distribution of the Software
  • Learn from the code
  • Fix the software and extend it on your own

Benefits of Open Source

  • Activisim is important

based on Open Source Jobs Report 2016

Benefits of Open Source

  • Elevated sense of joy

Benefits of Open Source

for Companies and Products

the more widely available the source code is for public testing, scrutiny, and experimentation, the more rapidly all forms of bugs will be discovered

How much impact can you make?

with an open source project?

How much impact can you make?

How much impact can you make?

1991, Linus Torvald's e-mail on his new OS...

Linus Torvalds's

(1995) An infinite number of monkeys typing into GNU emacs would never make a good program.

Linus Torvalds's

(2007 on hardware) Is "I hope you all die a painful death" too strong?

Linus Torvalds's

(2010) Every time I see some piece of medical research saying that caffeine is good for you, I high-five myself. Because I'm going to live forever.

Linus Torvalds's

(2001) In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people.

Linus Torvalds's

(1996) Software is like sex; it's better when it's free.

How much impact can you make?

Back in 2007, I was doing a lot of embedded wireless development.

We were missing an open source, web-based, Wi-Fi management solution

How much impact can you make?

  • No GitHub...
  • SourceForge and SVN (god forbid!) were the go-to open source toolset

How much impact can you make?

The birth of daloRADIUS
PHP, web-based management system for FreeRADIUS and MySQL

My first significant, enterprise-scale open source endavour

How much impact can you make?

daloRADIUS Web Interface

How much impact can you make?

daloRADIUS SourceForge Project

How much impact can you make?

daloRADIUS A decade later

  • 1000 weekly downloads
  • 300,000 downloads

daloRADIUS on LinkedIn

You can make an impact too

You can bring change

If Internet Explorer is brave enough

to be your default browser


You are brave enough

to start an Open Source project

Why start an Open Source project?

To scratch an itch

  • Missing tool or library
  • You create something of value that other users find useful
  • You thought of a better way to do something

Why we do open source?

Linus interview in 1998

In the extreme case, if it was just you doing all the code, and the rest of the world quietly used it, would it make sense to give it away free?

It might be true in certain niche areas, but almost any project will give a developer that "feel good" feeling when he has users and he feels he is doing something worthwhile. most of the good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.

Where do we start?

GitHub

The cyberspace of scratching itches with other people

GitHub

"we make it easier to collaborate with others and share your projects with the universe"

Tabs vs Spaces

The Ultimate Debate

Winnie's got her own GitHub page!

Winnie actually commits space indentation fixes

My Personal Itch

Back in 2014 my itch was NodeJS and the JavaScript ecosystem that took the web by storm

Everyone was talking about being MEAN

What does it mean to be

MongoDB - NoSQL Database

Document Storage

ExpressJS – web application framework

Ties the middleware,
Takes care of HTTP

AngularJS - Client-side frontend framework

MV* Architecture from Google home-base
Testable, data bindings, reusable components

~2009 NodeJS – Server-side multi-purpose JavaScript platform with async nature

Web Servers, Command Line Tools
SMTP Servers, Control an Arduino board

The Benefits

The Benefits

Shared Language = JavaScript
Shared Objects = JSON


The FullStack Developer

The Benefits

Shared ecosystem

  • test tools
  • build and automation tools
  • code linting

Too good to be true?

Challenges with the JavaScript Ecosystem

legacy web development sauce not working anymore

Challenge

How do you tie all of these JavaScript components to work together?

Challenge

The JavaScript ecosystem is a messy place

MongoDB

or ...
CouchDB
Cassandra
Redis

ExpressJS

or ...
Hapi
Koa
Restify

AngularJS

or ...
EmberJS
KnockoutJS
BackboneJS
ReactJS

http://www.nodeframeworks.com

What about the tooling ecosystem?

Build tools:

  • Lint your code
  • Compile your SASS to CSS
  • Minimize your CSS and JS assets
  • Optimize your static image assets
  • Run your tests
  • Unit tests, integration tests, E2E tests
  • Nock, jshint, nodemon, livereload
  • Manage your package dependencies, and their security status

Back in 2014 - MEAN.io was the trend for a FullStack JavaScript framework

Getting involved is the best way to learn!

vs

"Two roads diverged in a wood, and I —I took the one less traveled by, And that has made all the difference"
Robert Frost

Why I love MEAN.JS?

  • Light-weight
  • Opinionated yet configurable and extendable
  • Framework and boilerplate vs Platform
  • Community-oriented

I love it so much
that I became the lead maintainer for the project

I love it so much
that I started using it at work

  • hackathons
  • dashboards
  • small projects

freeboard

an opportunity
to grow
technology

HPE Live Network in numbers:

600,000 unique users

3,000,000 page views

1,500,000 downloads

5 years old LAMP stack

5 years in software
is like
700 Chewbacca years

key strategic technology decisions:

  • Build on existing expertise
  • Consolidating our platform to Java & JavaScript
  • Micro-services architecture

Why contribute to Open Source?

  • It feels good to give back
  • Be a part of something bigger than you
  • Establish actual real life experience
  • (sometimes) Better than a resume
  • Great way to make connections
  • Gain exposure and personal branding

How to contribute to Open Source?

  • File a bug report
  • Do a screencast or demo for a feature
  • Write a tutorial
  • Contribute to documentation
  • Get involved in the issue queue

This slide deck is Open Source too

How?!

This slide deck is Open Source too

It was created using a project called reveal.js

You're welcome to fork my slides at presentation-welcome-to-github and suggest improvements, modifications, and updates as you see fit.

Let's Give Some Love

Multumesc!

ping me at
liran.tal@hpe.com