How many DEPENDENCIES do
you have in your project?
Slide 5
Slide 5 text
Which LICENSES are
your dependencies
using?
Slide 6
Slide 6 text
You don’t know ?
Slide 7
Slide 7 text
Requirements
Analysis
Design
Coding
Testing
Accepting
15 years ago we used to work with the WATERFALL MODEL
Slide 8
Slide 8 text
But today we are AGILE
Slide 9
Slide 9 text
Everything the Waterfall Model used
to execute in one year ...
... we nowadays execute in 2 weeks!
Slide 10
Slide 10 text
The way we develop software
today totally changed!
Slide 11
Slide 11 text
Being AGILE got us
CONTINUOUS Testing
CONTINUOUS Refactoring
CONTINUOUS Integration
CONTINUOUS Delivery
Slide 12
Slide 12 text
But what about
CONTINUOUS Updating
Slide 13
Slide 13 text
How do you update your
LIBRARIES ?
Slide 14
Slide 14 text
You don’t ?
Slide 15
Slide 15 text
Because you never touch a
running system, right ?
Slide 16
Slide 16 text
So you wanna work
with COBOL! Right?
Enjoy!
Slide 17
Slide 17 text
If you can't fly then run,
if you can't run then walk,
if you can't walk then
crawl,
but whatever you do
you have to keep moving
forward.
Martin Luther King Jr.
Slide 18
Slide 18 text
Core committers don’t release
new versions just for fun!
Slide 19
Slide 19 text
• Bug Fixes
• Security Fixes
• Speed & Memory optimisation
• New Features
They always have good reasons
Slide 20
Slide 20 text
How do you ensure that new
versions don’t break the system?
1.MAJOR version when you make incompatible API changes
2.MINOR version when you add functionality in a backwards-compatible manner
3.PATCH version when you make backwards-compatible bug fixes.
MAJOR.MINOR.PATCH
Slide 24
Slide 24 text
2.0.0
2.1.0
2.1.1
2.1.2
3.0.0
Major
Minor
Patch
Patch
Major
Slide 25
Slide 25 text
Always follow the
MIGRATION PATH
Slide 26
Slide 26 text
Many small steps are
better than one big step
You can do SMALL MIGRATIONS on the fly.
BIG MIGRATIONS are risky and expensive.
If you miss versions, you miss migration paths, too.
And that leads to TROUBLE!
Slide 27
Slide 27 text
1 2 3 4
migrate migrate migrate
big migration … expensive!
Don’t miss migration paths!
on the fly on the fly on the fly
Slide 28
Slide 28 text
Always run your TESTS against new versions
Slide 29
Slide 29 text
Another reason for being current
Slide 30
Slide 30 text
Do you really believe
those young talents
wanna work with
COBOL?
Or other OLD SHIT?
Slide 31
Slide 31 text
Tracking versions is a pain!
Slide 32
Slide 32 text
SOFTWARE LIBRARIES
are NOT like iPhone
Apps!
Slide 33
Slide 33 text
100 libraries per
project in avg.
After 2 weeks the first libraries are OUT-DATED!
Slide 34
Slide 34 text
Developers are missing critical BUG FIXES
and important UPDATES!
Slide 35
Slide 35 text
Manually checking for
updates is no fun!
It cost TIME & MONEY!
NOBODY WANTS TO DO IT!
Slide 36
Slide 36 text
So, how do you wanna solve this
PROBLEM
Slide 37
Slide 37 text
You have to
AUTOMATE
Slide 38
Slide 38 text
You need a TOOL for that!
Slide 39
Slide 39 text
GemNotifier Gemnasium VersionEye
Languages Ruby
Ruby, Node.JS,
Python
22 Languages
GitHub no yes yes
Bitbucket no no yes
File upload no no yes
URL parsing no no yes
Changelogs no yes in progress
Security no yes in progress
Licenses no no yes
API no no yes
Slide 40
Slide 40 text
www.VersionEye.com
Keeps an eye on more than 550K open source libraries!
Supports 22 Languages and 10 Package Managers!