[Toybox] What should I do with my boxes generic editor code?

David Seikel onefang at gmail.com
Mon May 25 22:08:49 PDT 2015


This has been most frustrating.

tl,dr - Getting boxes into toybox has entirely failed for four years,
which has blocked the progress of both.  Let's do something about that.



I've been trying for years (since 2011) to get my generic editor code
(boxes) into toybox, so far with zero movement on that front.  Now Rob
has added two editors he wrote himself, and from what I can tell wants
to just write it all himself.  Not to mention a few other things that my
generic code covers, where written by others, and have been included
already.  Boxes covers emacs, joe (Wordstar), less, mcedit (the editor
I actually use), more, nano, and vi.  It also covers the ed style
modes of those things that include one.  It could cover a few other
things as well, for instance I wrote an example shell that just
demonstrates how it could be used in toysh.  It could share code with
sed, and now hexedit.

It's time for me to make a decision about what to do with boxes.  Four
years with no movement is ridiculous.  People keep wanting me to finish
it, "Rob wont put it into toybox" just isn't an acceptable response for
me to give after four years.  I'm putting this on the public mailing
list so that those who are actually interested can provide some
feedback to help inform my decision.  Some actual useful feedback from
Rob that progresses this instead of just sitting on it forever would be
great to.

So far the only actual objection you have given to me Rob is that it's
too big a blob for you to grok.  So I cut out a bit of it, to see if you
could at least handle a small part of it, even though it was too small
to be actually useful.  You ignored that to.  That's a problem, a
generic editor is just too big, even if it's cut down to "barely usable
editor".  Sure it can be cut down into bite size bits, but none of
those bits will be useful at all.  So this has been the big blocker,
Rob wants bite sized bits, this doesn't break down into bite sized
bits, and Rob aint putting it in, not even to pending, unless it's
bite sized bits.  Me completing it by fleshing out the missing editing
functions wont make it any more bite sized, that has to wait until
it's in toybox.  Once it is in, fleshing it out CAN be done in bite
sized bits.

Every now and then Rob you say "I want to write this", and I usually
reply "I've written this for you already", sometimes you respond with
"we'll talk about it later", then later never comes.  Mostly you just
ignore it.  Despite the fact that it covers a lot of things that you
keep saying you want to add.



So, what are my choices?

0) Try to convince Rob to just dump it into pending.  Then we can all
work on it to make it great.

1) Keep waiting another four years in the forlorn hope that Rob
actually does something with it.

2) Fork toybox and just add it myself.

3) Write it as a drop in module for toybox.

4) Rewrite it to be entirely separate from toybox.

5) Just forget about it, and wait four or more years for Rob to write
his versions of a bunch of things.

6) Insert choices I haven't thought of here.



Choice 0) is what I have been trying to do for four years.  I'm a
computer programmer, not a marketing droid, I can't sell for shit.
Obviously this isn't working.  Time to move on, reluctantly.

Choice 1) doesn't cut it for me, coz one of the reasons I was motivated
to write this in the beginning is that I want to use it myself.  In
four years I could have actually completed enough of this to actually
be useful to a large number of people, including myself.  Time to move
on.

Choice 2) is something I really don't want to do.  That's way more work
for me, and creates competition where I wanted to cooperate.  Just as
Rob didn't want to compete against busybox at one point, I don't want
to compete against toybox editors, for basically the same reasons.

Choice 3) might work, I'm not sure yet if such a thing is possible.
Though then Rob will still write his own versions, coz mine will only
get bigger as I flesh it out to full editing functions, so he wont be
able to grok it.  The big problem here is that there's lots of code that
could be shared between boxes and other parts of toybox.  Rob might not
accept patches to deal with this, if the history of boxes is anything
to go by.

Choice 4) is workable, as the toybox library stuff I use isn't that hard
to replace, and I could even just use those parts directly, as I would
use a similar license to the toybox one, which allows that.  This would
be just another implementation of a bunch of editors, so likely I'd be
the only one using it.  This wont help toybox at all.

Choice 5) isn't really an option for me, but is likely what will happen
judging by how things have gone so far.

Choice 6) - this is where you people can lend a hand if you can come up
with other choices for me.  Maybe someone else could convince Rob where
I cant.  Maybe sending push requests from the boxes github to the toybox
github would help get it in.  I dunno what else will work, make
suggestions.

One of the stated goals of toybox is to help turn Android into a
development environment.  A development environment needs a text
editor.  Rob has stated that there is some urgency in getting this
done.  If boxes hadn't spent most of the last four years in limbo, we
would be a lot closer to that goal by now.  Robs TODO list from hell
isn't getting any smaller if Robs gonna write stuff I've already
written.  Stuff I've been very willing to keep writing for the last
four years, if only it had gotten into toybox so that we can continue.

Another thing to bring up is that I had discussed on this mailing list
before my desire to implement Midnight Commander (mc) as part of toybox.
Something that Rob agreed to in principle at least.  Mc actually works
well as an IDE, it's been my IDE of choice for a very long time.  So
this might be good for the "Android development environment" goal.  It
could share a lot of code with boxes.  The integration of mc and a
shell is something I wanted to make better, so this could mean some
cooperation between boxes and toysh.  The big problem here is that I
don't want to write a shell, I'm very happy for Rob to do that, he has
the experience there that I don't.  Toysh could even use some of the
boxes infrastructure.  Another good reason to choose 0), but ...

Can't we just fucking get on with it now?  3) and 4) I guess are my best
options if Rob really wants to just ignore my work and do it all
himself.  Sure, I really really really REALLY want choice 0), but it
just ain't happening.  B-(

-- 
A big old stinking pile of genius that no one wants
coz there are too many silver coated monkeys in the world.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.landley.net/pipermail/toybox-landley.net/attachments/20150526/a6e11f27/attachment.pgp>


More information about the Toybox mailing list