[mosh-devel] Blink and Mosh changes released
Keith Winstein
keithw at cs.stanford.edu
Wed Jun 15 18:06:13 EDT 2016
Hello Carlos,
If the whole thing is GPL, that's great news! Re: lawyers, we had a good
experience dealing with the Software Freedom Law Center (softwarefreedom.org);
Aaron Williamson is the attorney who helped us draft the iOS waiver in the
first place. I'm guessing they may be able to help you as well.
Best regards,
Keith
On Wed, Jun 15, 2016 at 3:00 PM, Carlos Cabanero <carlosecabanero at gmail.com>
wrote:
> Thanks for your prompt response Keith. Hope this serves to clarify any
> possible issues, and please let me know if there are any things I might
> have missed:
>
> a) Everything in Blink is Open Source already. There are no and will be no
> parts kept proprietary. And it uses the same license as Mosh (GPL v3 with
> OpenSSL exception). This is the only way that Mosh could be actually used
> on iOS without building a separate implementation. My vision is that people
> see Blink just like a very small distro with a few embedded tools to work,
> and they basically trust this distribution.
> a') Other pieces that integrate Blink are also important for the license
> part, to avoid incompatibilities. These include: Libssh2 (BSD), OpenSSL,
> Protobufs (BSD), linenoise (BSD), HTerm (BSD) and Mosh (GPL v3 with OpenSSL
> and iOS exception). Also, icons are released under the CC by SA 4.0 which
> is one way compatible with GPL. Fonts will be downloadable online but the
> packaged ones will be OFL SIL, again GPL compatible. I think it is all
> good, but I'm in process to corroborate all of this with Open Source
> lawyers. If someone knows someone who could help I would appreciate that
> too :)
>
> b) The "interface" we are exporting (if it can be called like that as it
> is only a bridge to keep the code separate) is only mosh_main, which can be
> found in our iOS branch, the new file called terminalbridge.cc. It
> instances an iOSClient object (copy of STMClient, removing stdin and stdout
> to work with our custom streams).
>
>> int mosh_main(FILE *f_in, FILE *f_out, struct winsize *window_size,
>>
>> const char *ip, const char *port, const char *key, const
>>> char *predict_mode)
>>
>>
> c) No other libraries are implementing the same interface. This is just a
> bridge for mosh. The reason why the GPL still applies is because we have to
> compile it as a static library. In theory, it would be possible to do a
> dynamic library since iOS 8, but really, I feel comfortable (and even
> relieved) with doing Blink GPL too.
>
> d) The other side to implement this interface, or the caller of the
> bridge, is our MoshSession class. This is Blink's mosh-client per se. Our
> Session objects try to act like a "Process" within a Thread and have a
> TerminalStream (with a "stdin", "stdout", "stderr", "windowsize", etc...),
> and a main function. You can see that in the code for Blink in
> Sessions/Session.m and Sessions/MoshSession.m. And then MoshSession for
> example calls SSHSession, etc... So yes, I tried to replicate the basis of
> a pipes and process system so that connecting other tools would be easy too
> (and linenoise for example was).
>
> And I think this is it. If anyone please see any issues or has any more
> questions, please shoot!
>
> Best
>
> On Wed, Jun 15, 2016 at 3:29 PM, Keith Winstein <keithw at mit.edu> wrote:
>
>> Thanks, Carlos, it will be very interesting to read through the code. I'm
>> trying to make sure I understand the licensing implications of what you're
>> planning to release on the App Store. Could you please describe:
>>
>> (a) Which parts of the overall Blink application are you planning to
>> release as open-source software, under which licenses? Which parts do you
>> intend to keep proprietary?
>>
>> (b) What is the interface that "Mosh as a library" exports? Is there
>> documentation on this interface?
>>
>> (c) What other libraries implement the same interface?
>>
>> (d) What are the programs that implement the other side of this interface?
>>
>> Best regards,
>> Keith
>>
>> On Wed, Jun 15, 2016 at 8:47 AM, Carlos Cabanero <
>> carlosecabanero at gmail.com> wrote:
>>
>>> Hi everyone!
>>>
>>>
>>> We’ve finally released Blink v 0.714, and most important, the code for
>>> it (https://github.com/blinksh/blink) and our Mosh changes (
>>> https://github.com/blinksh/mosh), including build scripts too (
>>> https://github.com/blinksh/build-mosh)
>>>
>>>
>>> First of all, I did not merge with latest version, changes will be
>>> required to our implementation anyway, as these were just to make sure the
>>> project would be doable, and didn’t want to cover everything in a pile of
>>> new commits. I’ll be focusing on fixing bugs and provide you with nicer
>>> pull requests to Mosh during the next days. These are basically in two
>>> areas, but nothing too big:
>>>
>>>
>>>
>>> - Mosh as a library, with iOSClient as a subclass of STMClient and
>>> makefiles with BUILD_IOS_CONTROLLER flag.
>>> - Mosh multithreaded.
>>>
>>>
>>> There is also a straightforward bug with the socket (commit 8b21ee1),
>>> that we triggered because iOS always closes sockets when going to the
>>> background. I will submit that one straight to GH as could help make Mosh
>>> more stable in this corner cases.
>>>
>>>
>>> To keep it clean, I will start the conversation on those in a separate
>>> thread, and just keep this one for any issues related to Blink-Mosh
>>> licensing, attributions, or compatibilities we might have.
>>>
>>>
>>> Thanks a lot!! :)
>>>
>>> _______________________________________________
>>> mosh-devel mailing list
>>> mosh-devel at mit.edu
>>> http://mailman.mit.edu/mailman/listinfo/mosh-devel
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/mosh-devel/attachments/20160615/0ccd758f/attachment.html
More information about the mosh-devel
mailing list