Beets as a use case for (master) thesis

Sounds great!

I’ll have to agree with the others here: I don’t quite follow all of your ideas here (I also lack formal training in CS, however). As @RollingStar mentioned, beets’ database backend does require some rework; search the github issues for: multi-valued tags, the attachment proposal, and various performance issues. Resolving these issues properly including benchmarking to make informed decisions and the eventual implementation is certainly a larger undertaking. Whether it suffices for a masters thesis, I cannot really judge. I imagine it could indeed qualify as research-able.
However, I’m not sure whether switching to an entirely new database engine is desirable and feasible (I suppose that is what you suggested with “graph db”):

  • We do need to remain backwards-compatible (which is not an insurmountable problem given appropriate database upgrade code).
  • the graph database paradigm might be overkill: It is not a goal for beets to replicate a subset of the musicbrainz database locally including all the relations. Rather, for simplicity, a flattened version is stored, where only tracks and albums are entities of their own. @adrian made a comment about this somewhere recently, but I can’t find it right now.
  • Any new database engine should be open-source and ubiquitous. SQLite is probably hard to beat here, so no switch should be done prematurely

If someone did the research, and it turned out that SQLite really cannot provide the performance for beets usecases, other engines could certainly be considered.

Aside from the database backend, there might be some project ideas in Project roadmap? - #2 by adrian thread.

Have you thought about supervision for your project? beets is run in the spare time of only a handful of people, some of which are self-taught programmers who did not study CS. I’m not sure anyone can guarantee (please correct me, @ all!) to be available for extensive mentoring. Is there someone from your institution who could step in? I’m sure we can be available to review code on github. Nevertheless, if you end up seriously considering beets as your masters project, I think it would be important to check back with beets’ core contributors how much time they expect to have during the period of your research.

3 Likes