Using software modules today is the default way of working for most systems and frameworks. With the advent of many software languages and OSS frameworks, new module systems are constantly created and new module ecosystems start to prevail. This trend is horizontal and covers operating system packages, language libraries and application modules (plugins). But while some module systems are nicer to use, others are repeating past mistakes and are a daily source for developer agony and pain. In this short talk I will present the \"lessons learned\" at JFrog, where we make software for managing software libraries and deal with many types of module systems. This talk will show what works and what doesn\'t work in a module system; what features can make a module ecosystem thrive or fail; and why, despite all downsides, modules are here to stay and conquer more space as the Cloud continues to grow.
76. Single Namespace Troubles
Scope Troubl
e
Examples Work-
around
System Can’t
use
multipl
e
version
s,
update
all
RPMs,
Ruby,
Groovy
77. Single Namespace Troubles
Scope Troubl
e
Examples Work-
around
System Can’t
use
multipl
e
version
s,
update
all
RPMs,
Ruby,
Groovy
RVM, GVM,
Homebre
w
78. Single Namespace Troubles
Scope Troubl
e
Examples Work-
around
System Can’t
use
multipl
e
version
s,
update
all
RPMs,
Ruby,
Groovy
RVM, GVM,
Homebre
w
Platfor Classpa
79. Single Namespace Troubles
Scope Troubl
e
Examples Work-
around
System Can’t
use
multipl
e
version
s,
update
all
RPMs,
Ruby,
Groovy
RVM, GVM,
Homebre
w
Platfor Classpa Transitive
80. Single Namespace Troubles
Scope Troubl
e
Examples Work-
around
System Can’t
use
multipl
e
version
s,
update
all
RPMs,
Ruby,
Groovy
RVM, GVM,
Homebre
w
Platfor Classpa Transitive Uberjar