The Fellowship of Code



The Fellowship of Code

1 2


Open-Source-In-A-Web-Agency

Open source adventures in a web agency

On Github ronanguilloux / Open-Source-In-A-Web-Agency

The Fellowship of Code

Open Source in Web Agency

Carcouët BTS SIO SISR/SLAM, December 6th, 2013

/us

 

var lesPolypodes = {
    "age": 8
    , "count": 11
    , "origin": "Nantes, France"
    , "web": "lespolypodes.com"
    , "twitter": "@lespolypodes"
    , "open-source": "github.com/polypodes"
    , "devlog": "lespolypodes.tumblr.com"
    , "tags": [
        "accessibility hacktivists"
        , "web apps crafters"
        , "public administration project managers"
        , "open-minded fellows"
        , "beers connoisseurs"
    ]
}

/me

 

var me = {
    "user": "Ronan"
    , "age": 35
    , "origin": ""
    , "twitter": "@arno_u_loginlux"
    , "repo": "github.com/ronanguilloux"
    , "work": "cto@lespolypodes.com"
    , "devlog": "arnolog.net"
    , "tags": [
        "dad"
        , "bearded web developer"
        , "open-source enthusiast"
        , "web agency veteran"
    ]
}

Web Artisan

since 1999

What the hell

is Open-Source

Termes piégés, compréhension très différentes, attente très différente, moyens très différent. Désigne attitude personnel, besoin des entreprise, un choix philosophique, quasi politique, limite religieux

4 essential freedoms

 

  • 0: run the program for any purpose
  • 1: study how it works, and change it
  • 2: redistribute copies
  • 3: improve and release to the public
  • Freedom 0: The freedom to run the program for any purpose.
  • Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.
  • Freedom 2: The freedom to redistribute copies so you can help your neighbor.
  • Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.

Freedoms 1 and 3 require source code to be available because studying and modifying software without its source code can range from highly impractical to nearly impossible.

Thus, free software means that computer users have the freedom to cooperate with whom they choose, and to control the software they use. To summarize this into a remark distinguishing libre (freedom) software from gratis (zero price) software, the Free Software Foundation says: "Free software is a matter of liberty, not price. To understand the concept, you should think of 'free' as in 'free speech', not as in 'free beer'".[20] See Gratis versus libre.

Legal basis

  • Authoring
  • copyright & copyleft
  • licence choice
  • intellectual property rights
  • restrictions on distribution
Les logiciels libres sont soumis, comme tout logiciel publié hors du domaine public, au droit d'auteur. Dans ce cadre, le droit d'auteur est exercé par le biais d'une licence libre qui énumère les droits que l'auteur choisit d'octroyer à l'utilisateur. Distinction entre licence et contrat qui existe en droit américain : une licence est une autorisation unilatérale, tandis qu'un contrat suppose des obligations réciproques. Les logiciels libres sont distribués avec de simples licences. Généralement, ils sont également distribués sans la moindre garantie. Certaines licences, dont la plus connue et utilisée pour les logiciels libres, la licence publique générale GNU, sont relativement complexes. Ainsi, la GPL ne donne le droit de redistribuer un logiciel que si l'ensemble du logiciel, y compris toutes les éventuelles modifications, sont redistribuées selon les termes exacts de la GPL. Cette licence a un caractère héréditaire car la fusion d'un logiciel sous GPL avec un logiciel non GPL, n'autorise la redistribution du logiciel fusionné que sous GPL.

Copyleft Vs BSD

 

Are you GNU/GPL or MIT?

COPYLEFT = Le copyleft est l'autorisation donnée par l'auteur d'un travail soumis au droit d'auteur (œuvre d'art, texte, programme informatique ou autre) d'utiliser, d'étudier, de modifier et de diffuser son œuvre, dans la mesure où cette autorisation reste préservée. L'auteur refuse donc que son travail puisse évoluer avec une restriction du droit à la copie. De ce fait, le contributeur apportant une modification (correction, ajout, réutilisation, etc.) est contraint de redistribuer ses propres contributions avec les mêmes conditions d'utilisation que l'original. Autrement dit, les créations réalisées à partir d'éléments sous copyleft héritent de facto ce copyleft. BSD = Il s'agit d'un type de licence imposant peu de contraintes; cependant, ce type de licence ne protège pas contre les restrictions. En général, seule la citation des auteurs originaux est demandée. En particulier, ces licences permettent de redistribuer un logiciel libre sous une forme non libre. Ces licences permettent donc à tout acteur de changer la licence sous laquelle le logiciel est distribué. Un cas de changement de licence courant est l'intégration de logiciel sous licence BSD dans un logiciel sous copyleft (licence GPL). Un autre cas courant est l'intégration de logiciel sous licence BSD dans les logiciels propriétaires.

Security ?

[Your boss:] "Are open-source softwares

more secure than closed ones?"

La sécurité relative des logiciels libres et propriétaires est sujette à débat.

le libre accès au code source permet l'examen du logiciel par des experts indépendants a

;

le libre accès au code source rend impossible le recours à la sécurité par l'obscurité, ce qui est considéré comme un avantage ou un défaut, selon le point de vue ;

la découverte de failles de sécurité est facilitée par la publication du code source. En effet, l'ouverture du code permet statistiquement à un plus grand nombre de personnes d'avoir la possibilité de repérer et de corriger des vulnérabilités.

Le logiciel libre n'est pas sécurisé par nature, mais s'il rencontre un succès d'estime et un usage large, alors il présente des gages de sécurité

Looking for an adventure?

READ code lines from Open-Source

100% benefit each time

Choose a playground

Start small. Maintain the fun.

Share early, share often

Expect Feedbacks

of any kind.

How we choose an open-source project?

Good advices from the trenches

Ask the Ancients

In the past, they fought the same ennemies.

Always evaluate the activity

Avoid one-man projects

unpopular projects, cloistered environments, ivory towers

DRY, KISS, SOLID

Please learn this words.

Don't repeat yourself

Keep it stupid simple

Single responsibility principle

a class should have only a single responsibility.

Open/closed principle

“software entities … should be open for extension, but closed for modification”.

Liskov substitution principle

“objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program”. See also design by contract.

Interface segregation principle

“many client-specific interfaces are better than one general-purpose interface.”

Dependency inversion principle

one should “Depend upon Abstractions. Do not depend upon concretions.” Dependency injection is one method of following this principle.

Open-Source leads you to Quality

Code, comment, test & ship "as for Github"

even it is not.

Send contributions!

Great open-source developersalways grant contributors

Respect processes

keep familiar with others' traditions

Code conventions, PR habits, CI tools, etc.

Don't be afraid of failure

Fail fast, fail often, fail early.

& stay away from the trolls

Related: auto-proclamed gurus, peremptory talks, pedantry, etc.

Attend to open-source events & conferences

Don't miss the opportunity for a relaxing drink

And then, after all...

Be hired.

Be evaluated on what you've shared