10
Awlex
7y

How do you guess get into an open source project/understand it's structure?

Haven't found any manuals or tutorials

Comments
  • 0
  • 2
    Start reading code, there aren't really any shortcuts
  • 1
    Clone the project and work it out.
    Programming beyond “hello world” is manual free, you are the manual!

    The best you could do is learn best practices for your preferred languages and keep to them.
  • 0
    Join mailing lists too, if they have them, but you usually don't gain a lot of high level information, most of it will be meaningless til you get into the source
  • 0
    @milkybarkid can you perhaps share a specific advice for large around (~5.4k and counting commits) projects?

    Or maybe specific advice on frameworks?
  • 1
    @Awlex There's not much to it really, start at the main function and go from there. If you see some piece of code you don't understand, either Google it or attempt to write a small prototype of it and see what happens.
  • 0
    @Awlex There are unique pieces of OSS like the Linux kernel which is large enough and ubiquitous that there are books written that would be worth a read. Usually there are developer guides somewhere, though I wouldn't rely on them too heavily.
  • 0
    @Awlex Usually, you should try and get to grips with using the software in detail before trying to understand its insides, e.g understanding how to use the "ip" program and all of its options before looking at the iproute2 code
  • 0
    @milkybarkid unfortunately not with that one I'm trying to learn, because it's still undergoing heavy development.

    My biggest problem right now is the fact, that I can't properly trace the source of events but I'll give it another try tracing the base classes and to study the way they interact
  • 0
    @Awlex You could contact one of the developers on the project? Which project is it by the way?
  • 0
    @milkybarkid It would be this one https://github.com/ppy/osu
    Or to be more precisely, the framework submodule.

    I'm trying to appeal to their discord server, where they manage the development but they are kinda under pressure, because of the deadlines they set themselves
  • 0
    @Awlex Clone the repo and start trying to build it, there's a low priority build issue in the framework submodule you could probably look at.
Add Comment