First, I want to say I absolutely appreciate that building a compiler takes a lot of difficult work, and I am grateful to everyone who has contributed. I hope to be able to contribute directly myself at some point.
That said, I disagree with the points made thus far.
I don’t understand how that’s different from saying “We don’t want our users to tell us what’s important to them?” Not to say that what you’re working on isn’t important, but how do you know it’s the most important to your future users if you aren’t getting feedback? Maybe you’ll hear about lots of things you already know, but maybe it’ll turn out that more people would be happier sooner if you worked on this other thing first.
This whole “we don’t want users yet” sentiment is (IMO) antithetical to the ideals of agile software development and open source software in general. It’s contrary to three of the four tenants of the Agile Manifesto, namely:
Individuals and interactions over processes and tools
Customer collaboration over contract negotiation
Responding to change over following a plan
and actively avoiding the community aspect of the LLVM and flang communities.
Not making it easily available or being open about the process is already creating negative feelings. I see questions all the time about “I’d like to see how flang is doing. Can I try it out?”, “Well, yeah, but you have to compile it from source, and pass a special CMake flag to build it, and then the executable is called
flang-new, and you have to pass a special, undocumented flag…” and at that point they give up. That’s a bad experience as evidenced by posts like:
I understand there’s an impulse not to release something until it’s ready, but that only really works for software that isn’t developed in the open. And even then it’s questionable. The first few paragraphs of this book tackle it head on.
And there is direct evidence that the opposite approach, being open and making it easy for people to try it out, in fact doesn’t lead to a bad experience. Case in point a “competing” project, LFortran. They’ve been very open from very early on and put considerable effort into making it easy for people to try it out as soon as possible. This has led to more people getting involved in the project and a considerable amount of understanding from early users, not a bunch of complaining and nobody coming back.
Everyone involved (IMO). You can start to rebuild trust and good will with your future users and the community. You will either find out you’re on the right track, in which case now you’ll know for sure, or you’ll find out you should change course in time to actually do something about it.
So please explain to me why you think it’s a bad idea to make
flang easier for people to try out, besides just saying “it’s not ready yet” and then being a bit vague when answering the question “when will it be?”