Skip to content

Commit

Permalink
Core values: How we decided what gets included (#1105)
Browse files Browse the repository at this point in the history
@MikhailZex - Core values: How we decided what gets included


* Values: What get added, and what gets removed

* Updates based on @Silverarmor's Review

- Used title case
- Canged '~(80%)' to '~80%+)
- Removed unnecessary line breaks
- Removed extra COREVALUES.md
  • Loading branch information
Michael George authored Jan 12, 2021
1 parent 99c5528 commit 7ad46a3
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 22 deletions.
39 changes: 39 additions & 0 deletions COREVALUES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# What is this file?

This is where we outline the fundamental ideas by which we decide what to do, what to keep and what
to remove from spotDL.

# The Deciding Factors - Our values:
- Simplicity:
- What can we remove? Is this necessary to most (~80%+) of users?
- Can we make it easier to use? Fewer steps?
- Focused Functionality:
- spotDL is to download "content" from Spotify. Does this help doing that? (very
narrow focus here people) A.K.A - is this a "need to have"?
- if its a "nice to have", will most of the users use it? (note: its "most users **use**", not
"most users **want**")
- Users first, provided its maintainable:
- Will this do good to the users? They might have not even thought about it, it might make
things more complex (more understanding of spotdl required to use it) but will it benefit
the majority (~80%+) of them in the process?
- Provided it helps the users, if it has a big impact on maintainability, its still a no-no.

If a contribution satisfies at least 2 of our deciding values it gets accepted, else, it doesn't.

# A few general notes
1. The term 'users' is thrown around a lot. For a project like `FFmpeg`, users is that group of
coders who are unafraid of a command-prompt (it says so on the downloads page itself). Here,
'***users***' refers not to developers but normal *homo sapiens* - just about anybody who wants to
download "content" from Spotify.

2. The term 'maintainability' has also been given significant weight. This is used in 2 senses of
the word:
- General Simplicity - Can I read the code ***once** and understand what is going on?
- Industry standard maintainability measures (the same one outlined on betterCodeHub)

3. The ideas outlined here are still very much a work in progress and is open to discussion but,
we will stick to these. Some of the biggest companies & many more ambitious projects has all fallen
to ruin because of the 'undisciplined pursuit of more'. That should not happen here. This is not
so much of an outline of what we should do but, an outline of what '**we should not do**'.

4. You're encouraged to question each contribution/existing functionality as required.
22 changes: 0 additions & 22 deletions Design Docs/CORE VALUES.md

This file was deleted.

0 comments on commit 7ad46a3

Please sign in to comment.