1 | * GNU Ensemble
|
---|
2 | ** Abstract: Can you explain the whole project and its expected outcome (limit 1200 chars)
|
---|
3 | Ensemble is a web platform for collaboration between music composers
|
---|
4 | and performers with the goal of creating free cultural works.
|
---|
5 |
|
---|
6 | Composers share their compositions in musical notation while
|
---|
7 | performers bring them to life. One could say that bands can be formed
|
---|
8 | irrespective of their location, or possession of certain musical
|
---|
9 | instruments.
|
---|
10 |
|
---|
11 | Users can start new music projects, that are instances of GNU
|
---|
12 | Ensemble, or join and contribute existing projects.
|
---|
13 |
|
---|
14 | A new project gets instantiated once a name, a musical genre, a free
|
---|
15 | license and a list of instruments are chosen for the future
|
---|
16 | composition. The files can then be uploaded - pdf, musicxml or
|
---|
17 | lilypond in the case of musical notation; or users can start with bare
|
---|
18 | audiotracks and upload flac, mp3 and other popular free audio
|
---|
19 | formats. Users can explicitly request others users to compose new
|
---|
20 | tracks, rather over existing tracks or you can ask to just play and
|
---|
21 | record what you have. Users can also decide how much can the other
|
---|
22 | project member change their initial ideas. For instance, if a certain
|
---|
23 | piece can be improvised or if it needs to be played strictly as it was
|
---|
24 | composed.
|
---|
25 |
|
---|
26 | The outcome of this project is a federated network of web resources
|
---|
27 | with free music cultural works created on a collaborative effort
|
---|
28 | basis.
|
---|
29 |
|
---|
30 | ** Have you been involved with projects or organisations relevant to this project before?
|
---|
31 | And if so, can you tell us a bit about your contributions?
|
---|
32 |
|
---|
33 | I have experience in developing proprietary web services. When it
|
---|
34 | comes to contributing to free software
|
---|
35 | communities I have done small contributions and I'm eager to engage
|
---|
36 | more with the community.
|
---|
37 |
|
---|
38 | I'm committed to free software and I run GNU Guix on my Librebooted
|
---|
39 | Thinkpad. I have contributed 2 packages to Guix.
|
---|
40 |
|
---|
41 | ** Requested amount
|
---|
42 | 10000€
|
---|
43 |
|
---|
44 | ** Explain what the requested budget will be used for?
|
---|
45 | Does the project have other funding sources, both past and present?
|
---|
46 |
|
---|
47 | This project has never received any funding.
|
---|
48 |
|
---|
49 | The budget will be used for hosting the first instance (buying a
|
---|
50 | domain name, a server and building the infrastructure). Also I expect
|
---|
51 | to dedicate at least 6 months of full concentration on this
|
---|
52 | project.
|
---|
53 |
|
---|
54 | A small part of the budget will be spent on a logo.
|
---|
55 |
|
---|
56 | ** Compare your own project with existing or historical efforts.
|
---|
57 | - Mutopia is a place for hosting free licensed and public domain sheet
|
---|
58 | music. While GNU Emsemble may seem related, it actually focus in on
|
---|
59 | creating new music rather than sharing pieces of music.
|
---|
60 |
|
---|
61 | https://www.mutopiaproject.org/
|
---|
62 |
|
---|
63 | - Musescore's website. It allows you to host your pieces made in
|
---|
64 | Musescore and enables playback. It doesn't use libre
|
---|
65 | JavaScript and doesn't encourage the use of free software licenses. I
|
---|
66 | want to support Musescore files in this project.
|
---|
67 |
|
---|
68 | https://musescore.com/
|
---|
69 |
|
---|
70 | - Most collaboration tools are either non free or limited
|
---|
71 | in some way or another. For example, there's a web service called
|
---|
72 | Kompoz but users can only collaborate by sharing recorded audio
|
---|
73 | files. This project promotes collaboration both in the process of
|
---|
74 | composition and performance.
|
---|
75 |
|
---|
76 | https://www.kompoz.com/
|
---|
77 |
|
---|
78 | - GNU Lilypond is a great Scheme-like language which generates
|
---|
79 | music sheets from text format to PDF, making it suitable for
|
---|
80 | collaboration. Its syntax is clearer than XML-like MusicXML. This
|
---|
81 | project will support GNU Lilypond.
|
---|
82 |
|
---|
83 | https://lilypond.org/
|
---|
84 |
|
---|
85 | ** What are significant technical challenges you expect to solve during the project, if any?
|
---|
86 | Creating a federated network will be a challenge. Also, a version
|
---|
87 | control system will have to be implemented for music project
|
---|
88 | contributions, so that users will be able to track the changes.
|
---|
89 |
|
---|
90 | I plan to use GNU Guix for development and deployment, which can be
|
---|
91 | challenging due to the fact it's still a relatively new tool.
|
---|
92 |
|
---|
93 | Also there's this hard dilemma regarding JavaScript. I want to avoid
|
---|
94 | using it, but that can cost some user comfort.
|
---|
95 |
|
---|
96 | ** Describe the ecosystem of the project, and how you will engage with relevant actors and promote the outcomes?
|
---|
97 | I will use Python as the main language for the web server
|
---|
98 | realization, and OCaml for parsers and tools that need to be
|
---|
99 | compiled. Python is a popular language choice for this kind of
|
---|
100 | task, thus I think it's the right choice.
|
---|
101 |
|
---|
102 | I will use Flask, some of Flask's extensions, SQLAlchemy and
|
---|
103 | PostgreSQL. I will use GNU Guix for development and deployment; a
|
---|
104 | virtual environment will be created for development and deployments
|
---|
105 | will either happen in a generated docker container or using Guix's
|
---|
106 | deployment system.
|
---|
107 | (https://guix.gnu.org/blog/2019/towards-guix-for-devops/)
|
---|
108 |
|
---|
109 | SourceHut (https://sr.ht/) will be used as a platform for hosting the
|
---|
110 | git repository, providing mailing lists and bug tracker.
|
---|
111 |
|
---|
112 | Probably I will need Kubernetes and Devops tools.
|
---|
113 |
|
---|
114 | For promoting I will record series of screencasts videos which will
|
---|
115 | then be uploaded on PeerTube.
|
---|
116 |
|
---|
117 | English and Russian versions of this project will provided by
|
---|
118 | me. Hopefully the community will help me to support as many languages
|
---|
119 | as possible.
|
---|
120 |
|
---|
121 | I will be the only developer, but anyone is welcome to contribute as
|
---|
122 | the repository is available on my SourceHut account
|
---|
123 | https://git.sr.ht/~w96k/
|
---|
124 |
|
---|
125 | After some functionality will be in place, I would like to add this
|
---|
126 | project to the list of GNU software to gain interest and make sure it
|
---|
127 | will get maintenance.
|
---|