a few points to reply on.
There is some notion that features don’t exist in Blender, because we (existing developers) don’t have the time/resources/ability to add them.
This is sometimes the case (awesome-physics-integration is one example), but for smaller features, often its not the case.
This means if a new developer comes along and picks low-hanging-fruit, they often end up adding things which are not obvious improvements (useful in corner cases, or only useful in obscure cases).
So - if having your patch accepted in master is important, always talk with the person who will review your patch first. I can’t stress that enough (check module owner list).
Note that this does happen, I mail new devs and talk with them about areas they might be interested in working on, and see what fits well with current design.
If you like to work on features existing devs don’t want, this is a risk you take and YMMV.
Wanting to work on low-hanging-fruit is fine, and a good way to start. thats why I setup the quick-hacks project.
https://developer.blender.org/project/view/34/
Suggestions for more quick hacks are always welcome.
@Harley - regarding your massive defaults patch. IMHO doing this as a patch is just not very good. Its too risky and you do too much work with a chance we don’t accept.
In this particular case, the patch was never rejected, but it was never prioritized either, and I take some blame here. Though the fact Ton suggested to remove the feature didn’t make me motivated to spend time on this either.
For these kinds of bigger changes, I would propose to do them in steps.
- Make a branch, get commit access (just ask)
- agree on conventions headers & naming.
- implement for eg- toolsettings
- get review and acceptance from developers
- merge into master
- rinse-and-repeat with each RNA file.
Regarding credits, from the outside - I can see this looks bad, We credit patch submitters, and at some point we stop.
From my perspective - I had the data available, so I whipped up a script to digest it and spit-out-credits. But now I don’t and such a script is further complicated by having to support 2 different patch-tracking systems.
While its not impossible to support this, its now a fairly large (?) task, and takes time away from development. I don’t say not to support, just that someone needs to investigate extracting this data from Phabricator, and right now its not a priority for me.
Regarding removing features - sometimes features are added without very good review (or as part of a larger change, and we don’t property review implications of every detail), in those cases there are features we may not be able to support well, there are even features that work-by-accident (ran into one yesterday - loop-cut-on-a-single-edge *). in those cases I think it can be reasonable to remove the feature - but each case needs to be reviewed on its own merits.
At this point, I could stop doing any development, I could just reply to tracker tasks, check bug reports - review and comment on poorly written patches, maintain infrastructure and fix docs all day long. Not joking, but I didn’t sign up for that, I work on Blender because I enjoy it, I accept a certain amount of less-interesting tasks - because its needed, but I really don’t want it to become a focus, if thats the case - I rather do something else with my time.
Thats speaking for myself, of course BF needs to handle this so there are enough devs assigned to patch review, fixes, admin duties - but also keep existing employees interested enough they don’t quit and go work on something else, its a tricky balance.