
The Open Sourcerer's Magic Spell Book - rbanffy
https://www.javascriptjanuary.com/blog/the-open-sourcerers-magic-spell-book
======
Promarged
I know it's _javascript_ january.com but having this:

> node -e
> require('https').get('[https://gist.githubusercontent.com/PurpleBooth/109311bb0361f...](https://gist.githubusercontent.com/PurpleBooth/109311bb0361f32d87a2/raw/824da51d0763e6855c338cc8107b2ff890e7dd43/README-
> Template.md'), b => b.on('data', c => process.stdout.write(c+'')))" >
> README.md

instead of plain curl seems weird to me.

~~~
leipert
Especially as he mentioned the Unix Philosophy:

> [...], try to remember the Unix Philosphy [sic] and break it down into tiny
> parts that go well together, this way it's going to be way easier to
> initially release it and maintain it in the future.

~~~
steinuil
The unix philosophy != command line tools usually preinstalled on your system.

------
diggan
For being a "Open Sourcerer's Magic Spell Book", it's depending on a lot of
non-open source registries and services...

List of non-open-source services being used and depended on: Github, the npm
registry, Gist (by Github), TravisCI, CodeClimate, Snyk, FOSSA and Shields.io

~~~
syshum
This tracks with the current trend in Open Source, Libraries and Tool-kits are
open but Finished Software is not. This is the primary motivation for the
opposition of GPL and other copy left licenses in favor of non-copy left so
they can insure the "open" code can be locked down in the final consumer
product

Sad really that Open Source has diverged so much with Free Software..

------
vinceguidry
If you're going to make this comparison, you need to do it _right_.

You want to describe vividly the glass-cannon power that magicians
painstakingly front-load years and years of study and practice in order to
earn. Systems of magic each have distinct _feelings_. Flashy elemental battle-
magic or musty, slow-building necromancy? Physical-object-focused enchantment
or natural, sometimes creepy druidry?

What's the end goal? Eternal life? Cowing your enemies? Subverting political
orders? Fathoming the unfathomable?

Just calling software tools spells is just so... lazy.

~~~
egjerlow
Illusion magic: Game programming

Evocation: Cracking/pentesting

Abjuration: Cybersecurity

Conjuration: UI programming

Divination: Data science/forecasting

Transmutation: Backend developer

Necromancy: Sysadmin

Enchantment: Facebook/Google/Amazon/ad industry

~~~
vinceguidry
I'd call Enchantment hardware hacking / Arduino. If anything the advertising
industry is Psionics. I'd slot game programming under Conjuration and all of
front-end, including UI, as Illusion.

------
legostormtroopr
Oh good, another open-source tutorial that over emphasises the need for Codes
I’d Conduct.

Note that in this article, having a CoC comes before a howto on technical
contributions or before writing code itself.

Can anyone explain to me what happened circa 2015 that forced every open
source code base to require these silly, poorly thought out and rarely fairly
endorsed social contracts?

~~~
rwbcxrz
To answer your question, probably Gamergate.

In an article about maintaining an open source project, it seems to me like
covering contribution guidelines (which I would consider a CoC to be part of)
is pretty important.

In my experience, many projects maintain codes of conduct not because they've
had frequent problems, but as a statement that the maintainers welcome
contributors from all backgrounds, skill/experience levels, etc., and that
they won't tolerate behavior that alienates others.

Regardless, every project has some sort of CoC, even if it is never explicitly
stated. Putting it in writing makes it clear to everyone (including the
maintainers), and that seems like a good thing to me.

------
Nursie
>> In the year 2003 when there was no npm, no GitHub, no nothing.

Erm, there was SourceForge.

~~~
mi100hael
I think you're mistaken. Before Node.js, people distributed programs in the
back of magazines and users copied them onto their punch cards. They were dark
times.

------
kruhft
A real open source Magic Spell Book 'Sorcerer Linux':

A new "grimoire", which is a catalog of software supported for immediate
installation, is made available daily. When new sources are available, the
spells in the grimoire are updated. A user's desktop is updated by first
installing a current grimoire. If necessary, the installed Sorcery is updated.
Finally, installed software can be updated according to the user's decision.
Users can also add new spells to the grimoire on their local machine and
submit the new spell for inclusion in the general distribution.

Fun metaphors and a decent (old) Linux distro with it's infrastructure written
in Shell Script for purity.

And to install software you would 'cast' a 'spell'.

Source:
[https://en.wikipedia.org/wiki/Sorcerer_(Linux_distribution)](https://en.wikipedia.org/wiki/Sorcerer_\(Linux_distribution\))

~~~
kruhft
Also: Source Mage Linux

[https://en.wikipedia.org/wiki/Source_Mage](https://en.wikipedia.org/wiki/Source_Mage)

------
rwbcxrz
Maybe it seems longer than it is because I'm on mobile, but a lengthy post
with such an opaque title could really benefit from an executive summary, or
even a short subtitle such as:

"Guidelines for open source maintainers."

