Apologies in advance for the long email.

I can only speak for myself as to why I don't contribute more - if we could
resolve some of these, I would:

1. Organisation
There are thousands of JIRA tickets, many of them just stacktraces. Finding
issues that I can fix within my NB knowledge / skillset is difficult.  It
doesn't feel like working towards any particular goal.

A while back it was suggested to have Tribes, similar to those used in
Netcat (e.g. for Core Java, JavaEE, HTML/CSS/JS, Database etc.).  I think
this is a great idea - especially if each tribe has a Tribe Leader, who is
one of the Netbeans veterans (see below).  Tickets / feature requests could
then be assigned to each Tribe, and contributors with an interest in those
areas of Netbeans could easily find / pick them up and more importantly get
support from their Tribe Leader.  We could have some shared milestones to
work towards.


2. Lost knowledge
A couple of times I have wanted to fix a bug/annoyance, looked in the code,
and asked a question here about why something was implemented the way it
was, only to not get a response.

I appreciate that this is because many of the talented people that worked
on Netbeans in the past are no longer in the community.

It would be good to get an idea of who the NB veterans are, what NB modules
they have a deep understanding of, and some way to provide easier access
to/organise/share that knowledge (e.g. Tribes, above).


3. Documentation / Barrier to Entry
The barrier to entry for submitting anything more than simple bugfixes is
really high - I think largely due to the documentation / learning trails.

E.g. last year for fun (and because I'm a saddo), I started working on a
Lexer/Parser implementation using ANTLRv4 as the upstream lexer & parser.
After much frustration and reading the Lexer SPI Javadoc 20 times, I
realised that what it was saying was that the NB Lexer can restart from
anywhere, so if you use Modes in your ANTLR grammar file, you need deal
with this and to override state() in the NB lexer so that it starts in the
correct ANTLR mode, not the default....

None of our learning trails for ANTLR integration seem to mention Modes...


4. Not using Netbeans at work
After a brief stint in a .NET shop, I'm back in a job where I get to write
a bit of Java & PHP (thanks a lot COVID-19!).  I'm using Netbeans for PHP
as the core PHP support is still really up-to-date, but not for my Java
work.

I have also have a small jHipster application I'm building. Netbeans should
be the obvious choice of tool as on paper there is support for Java, Spring
Boot, Angular, Typescript, HTML & CSS all in one application!  But so many
of those facets are buggy / out-of-date, so I'm actually using IntelliJ for
backend Java and VSCode for all front-end work. Constantly switching
between the two is driving me nuts :(

It's a cycle: the more Netbeans falls behind -> the less I am inclined to
use NB at work -> the less I am inclined to contribute to Netbeans as I'm
not using it


5. Appreciation
I'm not someone who needs constant pats on the back, but I do think there
is a lack of courtesy / respect to those people that do contribute to NB,
no matter how small.  Chris has made contributions to the NB codebase, but
it feels to me that Chris got dogpiled in this thread for stating what are
some valid concerns.

Likewise, I feel that I got pretty much jumped upon because I dared to
mention that I used Illustrator for the .svg icons I've submitted.

How do you think that makes me feel about creating / submitting more .svg
icons (or contributions in general)?


I like to end on a positive - there *have* been some big steps forward in
recent memory:
 - Excellent Gradle support
 - Ongoing PHP support for latest language features
 - HiDPI support / SVG Support / UI improvements
 - LSP support

Regards,

P

Reply via email to