+1

Small increments seem prudent until there is some understanding of where we 
want to go.

Ralph

> On Oct 14, 2017, at 11:10 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
> 
> Hi Matt,
> 
> It seems to me that to get out of the mess we are currently in, we need to
> publish something official ASAP, even it is just an alpha or beta.
> 
> Toward this goal, we should make the least amount of changes as possible.
> Changing the source to 1.6 seems like a requirement to use modern tooling.
> 
> Then we can take it one step at a time. I like the idea of having a longer
> term road map, which, based on your messages, would be a long one full of
> milestones! :-)
> 
> I'm not sure how much I'll be able to help but you can count on me here and
> there ;-)
> 
> Gary
> 
> On Sat, Oct 14, 2017 at 12:01 PM, Matt Sicker <boa...@gmail.com> wrote:
> 
>> First off, for some reason, there are two repositories:
>> 
>> https://github.com/apache/chainsaw
>> https://github.com/apache/logging-chainsaw
>> 
>> The second one appears to be up to date. Not sure what to do about the
>> first one as it seems to be a relic of when Chainsaw was in SVN.
>> 
>> Next, bug tracking. The pom says its bugs are tracked in Bugzilla. It was
>> tracked as a component of Log4j 1. See this: <
>> https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&component=
>> chainsaw&product=Log4j%20-%20Now%20in%20Jira>.
>> I believe it would be useful to switch over to JIRA like we're using for
>> the rest of the logging projects. Perhaps we can ask infra for some sort of
>> issue transfer if possible.
>> 
>> Another issue: the Java source version is set to 1.4. That means it doesn't
>> even compile using Java 8 due to 1.6 being the oldest source version
>> usable. That also means that this project hasn't been updated to use
>> generics let alone anything else from the past 13 years (Java 5 was
>> released in 2004 back when I was learning how to program in the first
>> place!). As such, incrementing the base Java version to 1.6 would be a
>> minimum change, and I think if we increased to Java 8 or 9 after a release,
>> that would give us a nice opportunity to do some mechanical refactorings
>> and such which can sometimes be fun.
>> 
>> Really, though, the choice of Java version or JVM language in general for a
>> modernized version should be determined by whoever is interested in helping
>> clean everything up and move forward. In that case, since I feel a bit
>> interested here, I'd propose going with either Java 9 or Scala 2.12 (Scala
>> provides a neat Swing API wrapper as well). Kotlin could also be a
>> contender here, though I haven't used it much at all yet, so I can't really
>> make a real recommendation there. There's also the option of migrating from
>> Swing to JavaFX if there is interest, though I've never really used JavaFX
>> before (but have used Swing).
>> 
>> Then there is the notion of distribution. Since this is a GUI app, it's not
>> generally as simple as just publishing to Maven Central. Naturally, the
>> standard Apache release process of publishing sources and binaries to SVN
>> works fine, but there are additional options we can consider:
>> * Publish a Java webstart thing (would require working with infra to get
>> the releases signed; current build instructions tell the user how to create
>> their own release using a signing key and such)
>> * Publish a macOS .app bundle. This can be published through our normal
>> release channel, but there may also be a way to publish to the Mac App
>> Store. Also, a Homebrew formula (or cask) for this would be nice, though
>> they're normally maintained by external package maintainers just like in
>> GNU/Linux distros.
>> * Publish a native-ish Windows bundle. I don't see anything in the build
>> already, but there are some tools out there to distribute a Java GUI app
>> for Windows that could be useful here.
>> 
>> I have other ideas I'd like to see such as adding support for the JSON
>> layout and future binary layouts (e.g., Avro/Thrift/Protobuf/custom binary
>> logging format) so there is no reliance on serialized log events or dealing
>> with ambiguous log files. I'm pretty sure I could come up with a nice
>> backlog here, and we could try to recruit some interested developers
>> through helpwanted.a.o and potentially next time we have Google Summer of
>> Code or other similar hackathon-like things. In general, I always find the
>> viewing and searching of logs to be a pain regardless of fancy tools like
>> ELK or Graylog or Splunk, and having a nice local GUI to sort through it
>> all could be super useful, and I'd be interested to see this succeed in
>> that.
>> 
>> With all that in mind, who would be interested in helping out on this? I'm
>> having difficulty with the current version getting compiled let alone
>> getting a release cut, so I'm not even sure how feasible it would be to cut
>> a release before going ahead with the next generation. If we start working
>> on a major version of Chainsaw without a release for the existing code,
>> would that need to take place in the incubator, or can we go forward here?
>> 
>> --
>> Matt Sicker <boa...@gmail.com>
>> 


Reply via email to