-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Example] Development philosophy #4069
Conversation
The documentation lacks a thorough description on general principles which govern Godot development, and acts as introductory material for potential contributors which would like to get familiar with the development aspects that start with "Why?" rather than "How?", as with the existing "Best practices for engine contributors" page. This is different to "Design philosophy" because this is mainly targeted for people who express interest in contributing as potential engine developers, rather than developers that simply use the engine.
After reading it, at first glance, I think there's some room to shorten the article and make it clearer and maybe more assertive. First, I wouldn't expect people to go check a dozen linked pages. Then, it takes half of the page to get to the actual dev. philosophy. You don't need the disclaimer that there's no absolute philosophy, because community-driven and open-source are specific ways to develop software. Development moves forward by relative consensus and the users or contributors can directly steer it based on people's needs. I think you can be straight about that. I'd sum it up this way, although I'd recommend asking core developers for feedback:
I dunno if point 5 has a place on this page, but I added it because the page is in the Contributing section for now. @akien-mga @Calinou what do you think? Is this correct? I'd recommend starting with a bullet list like that in the introduction, giving a quick sense of the principles the page then develops. Could you run your text through a prose linter? The Hemingway app would be good for you as you have long sentences. The app will highlight them in red for you and help you write more accessible English. http://www.hemingwayapp.com/ |
Clearer: yes, more assertive: not sure. We don't really want go dogmatic with this kind of document, see previous reactions: godotengine/godot-proposals#575 (comment):
It's in the interest of people themselves who'd like to contribute to the project, and it's not like that you have to go check those pages, could be optional. Making this short for the sake of it is also counter-productive in my opinion, the philosophy itself could be even expanded later (I mean, more than just 1000 words), it's just that the introduction takes more text than what I've managed to come up so far. I agree that those links might not be needed at all as the history behind the project could be even described in a separate page (I'm certainly not the one who's qualified to write that). Nonetheless, I feel like at least those articles can be kept for reference. https://godotengine.org/article/godot-history-images But, the entire idea of linking to external resources like that is exactly to portray the history objectively, as one might be biased to "rewrite the history" if such opportunity arises. It's about transparency. I mean, there's nothing to hide, but if you do go through those articles one-by-one, you may identify some patterns in the way Godot has been developed, that was certainly an "aha" moment for me when I read those.
I have to admit that Godot is the only open-source project I've been involved throughout those years for real, starting from a severe lack of So, what are the odds and percentage of people that would go through a similar learning experience? Again, my ignorance itself is what probably lead to extended discussion in godotengine/godot-proposals#575. That's what I meant by "may be obvious to core developers".
To be honest, I wanted to create this under the
I guess on some level that's because it was specifically written that way. 😛 I'll leave this to other core developers to pick this up, in any case, this is just an example of how I personally see this, of course it may not be in alignment with opinions of the core developers, else I think wouldn't really have to create godotengine/godot-proposals#575 in the first place. So, if you do want to describe this yourself, feel free, I think there are more experienced contributors who can document this better than me. Feel free to build upon this, and strip off what do you think is unnecessary. I could also make any changes that you suggest, of course. |
My bad for writing assertive, I meant affirmative or more direct than it is now. I.e. removing parts such as
It's not dogmatic to say Godot is community-driven, open-source, that all development happens publicly, etc. It's a description of how development is working right now.
What I meant is you could make the sentences both shorter and clearer without changing any of the meaning. Our goal is to help people reading the docs by making the writing as simple as possible. Writing short and simple sentences helps reduce cognitive load for readers and makes the content more accessible to non-native English speakers or a younger audience. From the docs' writing guidelines:
|
This is mostly a reincarnation of godotengine/godot-docs#4069 This describes the Godot's development philosophy as seen by Goost authors.
Resolves godotengine/godot-proposals#575.
The documentation lacks a thorough description on general principles which govern Godot development, which would act as introductory material for potential contributors that would like to get familiar with the development aspects that start with "Why?" rather than "How?" and "What?", as with the existing "Best practices for engine contributors" page.
This is different to "Design philosophy" as well because this is mainly targeted for people who express interest in contributing as potential engine developers, rather than developers that simply use the engine.
Why?
I've moved the previously added "convenience over absolute performance" principle added in #3788 in this PR, so you see what I've been talking about when saying that "Best practices for engine contributors" does not provide answers to these kind of questions.
The information is taken from various sources such as news articles, reddit responses, and even IRC discussions (mostly @reduz opinions as a project founder), and of course likely includes some of my own subjective vision and/or wishful thinking. 😉
Also, this actually links the GIP repository directly in the documentation, as a main tool for evaluating what is deemed useful for Godot development, I haven't found any other link to GIP throughout Godot's documentation.
Disclaimer
This is just an example, feel free to modify and build upon this to better reflect the development philosophy in a way you see it, and add other useful information.