jducoeur: (Default)
[personal profile] jducoeur
Yesterday, I hit a gigantic tarball in my current Querki project. (I'm currently rewriting the underpinnings to be journal-based instead of conventionally relational, which should make the system *vastly* more reliable, and permit us to build powerful version control into it. Huge project, but the end result is going to be *sweet*.)

The details of the problem aren't too important: suffice it to say, I realized that one of the key libraries I was relying upon (Kryo) was missing a critical concept, and this was leading to my code that depended upon it getting more and more baroque, with some possible problems coming up that might be entirely unsolvable.

In traditional enterprise software, I might have "support" available to me -- that is, I could report the issue. If that got a friendly ear, my request for an enhancement might get into their issue-management system. And in a while -- a few months if I'm lucky, a couple of years if not -- I might get a good fix. That doesn't exactly work for me.

Fortunately, the library in question (like most of Querki's underpinning) was open source. Which meant that, in a few hours, I could figure out *precisely* what was going on, come up with a fix (enhancing the KryoSerializer shell library around Kryo with a new concept), fork the library, and get the solution up and running.

No, it's not "supported" by anybody, and I might wind up having to maintain my own fork if the owner of the shell library doesn't like my approach. But I managed to clear a major blocker in Querki by adding a major new feature to the underlying tool, in hours instead of months.

Really, having gotten used to a nearly-pure open-source environment for Querki, my patience for traditional closed-source software has gone *way* down. I've never been anywhere near so productive in the traditional world...

(no subject)

Date: 2016-07-15 12:22 am (UTC)
laurion: (Default)
From: [personal profile] laurion
Not what I was expecting when I first saw the word 'tarball' in the post.

But yeah, since switching to linux a few years back, I've also found the delight in being able to contribute directly to the enhancement of the tools I use. Not much in favor of maintaining my own branches, but even if my suggestions or pull requests aren't taken, at least git makes it easy to do these days.

Try to push the enhancement upstream

Date: 2016-07-16 01:50 am (UTC)
From: [identity profile] marc milgram (from livejournal.com)
Forking the library might seem like a good idea as you solved your immediate problem, but what happens when changes are made in the original code? Will you want those changes as well? Security holes that get fixed? Do you really want to maintain your own copy of the library?

If you found your enhancement useful, others might find it useful as well. I recommend trying to feed the changes back to the original project.

I sound like I drank lots of Kool-aid at work.

(no subject)

Date: 2016-07-18 06:31 pm (UTC)
From: [identity profile] ladymacgregor.livejournal.com
And OF COURSE you've checked the license on your open-source software, so that if Querki ever goes commercial and people pay for it, you can continue to distribute this vital piece of your project?

(says the person who gets to do this for all of my company's third-party products)

Profile

jducoeur: (Default)
jducoeur

June 2025

S M T W T F S
12 34567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags