Open tngreene opened 5 years ago
I, infact, feel like I'm wasting time writing this thing I feel like won't come to anything but more questions over how fast I can get it all done and why the code has to be so good if it could just work. Yes it has to be professional, yes we need unit tests, yes we need design decisions or the slippery slope begins and code-tumors fester and it isn't fit for payware developers, Laminar Research employees, and regular users anymore. No discussion unless you're also a professional software engineer please.
Ted, I think it is important you took time and wrote that. I have read all 3 times, yes, to understand the best I can and not to miss things and here is my input.
Another alternative would be politely petitioning Laminar Research to hire me an intern or junior dev I could tell what to do everyday instead of asking for an angel to fall out of the internet and put up with the above right now for free.
That would obviously make things easier and progress faster but only LR bosses know how much they would want to "invest" in exporter. I would definitely ask , maybe it could be just a temporary position for a skilled professional.
2.49 converter and 2.8 is ending up to be more than one person can handle in a reasonable amount of time at a professional grade quality people rely on - These features need to go right and go right the first time. The converter will likely only be used a few times per people by people and its sets up their project for the future forever and it will be difficult or impossible merging changes between conversion attempts. 2.8 is the start of a new chapter of the program. After everyone sets up their Collections that is what we're stuck with until 2.9. There are no shortcuts to be taken here.
I am sorry to repeat myself as I expressed that opinion at the beginning of the "2.80 setup" discussion but I still believe that below points are crucial to success and timely release of the 2.80 exporter
I am sorry if others disagree with me but that is the point of discussion, to exchange ideas on things.
Thank you all for a great work and contributions.
I am a beginner X-Plane aircraft modeler (not a beginner in Blender), and as such, have a obvious big interest in XPlane2Blender. As with many tools, once you really start using them, you start running into issues and wishes. Some minor, some bigger (think 2.8 support). I was vaguely aware that XPlane2Blender was OSS, and that led me to this repo a little while ago.
I am also a software developer, so one of the first thoughts I had was (just being honest here), I'll just fork it and do what I want with it. Then again, I'm also a big OSS enthousiast, so my second thought was, let's have a closer look at the current state of the project (a.k.a. the issues), see if they more or less align with mine, and see how I could contribute. I've done this with many an OSS project in the past.
Then I came across this issue, and the situation you describe made me almost want to go back to the 'fork it' idea. I would really like to see this addon make it to 2.8, as well as some other fixes and improvements, and I would be willing to spend some serious time making that happen, but just open sourcing something doesn't immediately turn it into a community project, and if this is not, then that would not be time well spent.
I guess the two things I wonder about most are:
I hope you are willing to shed some light on these questions.
Hi @kbrandwijk !
For some clarification: I am a contractor for Laminar Research and this repo is financially backed by the company, but they give me wide latitude for how to run it.
I'd say we balance the needs of everyone well. Laminar Research considers the addon and content community as a central pillar of its business model - 3rd party artists are part of X-Plane itself - therefore in a way XPlane2Blender's community direction is itself the companies direction and vis-versa. Such is a healthy symbiotic relationship!
We have always used GPL license. We have no internal version, no payware artist version, and there is only 1 LR specific feature that's snuck in (and it is very very very very minor for an automation script we have. It wasn't my call.) We use the same tools as everyone else uses. We try to keep it balanced between everyone's needs. The only time Ben and I put down a foot is for large workflow requests or features that only benefit specific artist's needs.
Because we've never had more than one developer really working on this, we haven't had much decision making questions about pull requests and such. We read every bug report, feature request, and e-mail that comes our way and make a decision. We have never had another developer make a serious fork, so we've never had a splitting of the community. I greatly want to avoid that.
Given that I have an admin account, it gives me near total control, but I certainly don't want to act like that with new volunteers, and I think a history of engaging with people in deep conversations on here and in the forums shows that isn't the type of developer I am.
Going forward I'd like to continue the feeling we have now, just with more like minded programmers on the team instead of just artists giving feedback.
I think I have time to manage 1.5 people's small pull requests, but not so much for training them. I'm hoping that developing some nice on-boarding docs can help that. I don't currently have time for developing new features that haven't already been developed or training the code base. I think a good software engineer will be able to trace their way around and know what style we go for (pep8, snake_case, no anti-patterns, mypy type annotations, and common sense!) and figure it out. This codebase is not full of pot-holes and unpythonic code tumors and I'm determined that it won't start growing them with new people even if I'm busy. A little problem compounds and grows bigger!
Being a maintainer of an OSS project would be new, but online collaboration is something I have a lot of experience in.
If you wanted to fork and have fun, go for it. Maybe you'll develop some cool things and I'll merge a pull request! If you're willing to deal with a rocky onboarding progress and a OSS community that is just getting off the ground (maybe), you'll be helping all of X-Plane's Blender artists and hopefully having fun getting in on the ground floor of the next chapter of XPlane2Blender.
I would love, at the very least, to see this across all forks if the project got more popular:
This bug is too much............ wall of hopeful/hopeless ness. If anything is to be done, it'll be done with hope! (on #594)
Re-opening so these thoughts don't get lost being pushed way down the bug list. If you have more long form thoughts, please put them here. Just know this is a slow process right now, but, every idea is still read and appreciated!
Recently, XPlane2Blender has gotten a lot more involvement with the community - from #397's request for samples to discussions about 2.8's use of collections (#450) and more, and also private testing of the converter. I've also seen in increase in users helping users (thanks @arb65912 and @lehthanis and a few others I've seen popping up recently if I am remember who is who correctly [forgive me if I'm not]). This has been joyous to see and a huge time saver! But, it isn't code, and we have a ton of features and documentation to write!
Most recently someone e-mailed two patches. Only one was added, but the other is sitting in my inbox because I don't have time to look at it, explain why it isn't pythonic enough to meet project standards rather than saying "try again and don't make the thing that... um... it isn't a good solution yet even though it works", or point to some formatting guideline besides "um... PEP8". Another person recently e-mailed and said "how can I help?" and I told them to go write tutorials on the forums and answer questions.
This. Sucks.
Between the converter and 2.8 I don't have time for Open Source development, and yet it would help so much to have code contributions and people I could talk with on Guest Slack every few days. Or even to simply write the unit tests for these features which is extremely time consuming and tedious, but has templates readily available and doesn't require much programming knowledge.
Otherwise the 2.49 converter and 2.8 support will stretch on forever.
Things I need to help automate the inclusion of community support
General needs
(I, infact, feel like I'm wasting time writing this thing I feel like won't come to anything but more questions over how fast I can get it all done and why the code has to be so good if it could just work. Yes it has to be professional, yes we need unit tests, yes we need design decisions or the slippery slope begins and code-tumors fester and it isn't fit for payware developers, Laminar Research employees, and regular users anymore. No discussion unless you're also a professional software engineer please.)
Increasing ease of contributions to the docs
backticks
, if it is an option for that property use "qoutes". "Also, use good grammer and spelling, avoid idioms and be concise"But of course, with 2.8, we'd have to redo all the screenshots we take of the UI... Is any documentation better than no documentation? Developer.xplane.com is a good test case. It has a bunch of docs that are more technical than the average user can ever comprehend them, and even I have to ask Ben what he meant by something, but, eventually you figure it out - kinda.
Increasing ease of contributing code
help wanted
. This is again, a place where if I could just call someone, talk about it, and then they can write the spec from the notes of the call and I could review it, it would be a big time saverIncreasing ease of unit test creation
self.assertTrue("bpy.data.objects["01_has_blend_glass"].material_slots[0].material.xplane.blend_glass)
Increasing ease of people handling support cases
Things that I'm absolutely never going to accept
or anything else found in the Python Anti-Patterns handbook
Another alternative would be politely petitioning Laminar Research to hire me an intern or junior dev I could tell what to do everyday instead of asking for an angel to fall out of the internet and put up with the above right now for free.
2.49 converter and 2.8 is ending up to be more than one person can handle in a reasonable amount of time at a professional grade quality people rely on - These features need to go right and go right the first time. The converter will likely only be used a few times per people by people and its sets up their project for the future forever and it will be difficult or impossible merging changes between conversion attempts. 2.8 is the start of a new chapter of the program. After everyone sets up their Collections that is what we're stuck with until 2.9. There are no shortcuts to be taken here.
</concerned plea for help and understanding>