[mosh-devel] Blink and Mosh changes released

Carlos Cabanero carlosecabanero at gmail.com
Wed Jun 15 18:20:18 EDT 2016


Thanks a lot Keith! I already contacted them, hope they reply soon too :)

On Wed, Jun 15, 2016 at 6:06 PM, Keith Winstein <keithw at cs.stanford.edu>
wrote:

> 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/7e0b899f/attachment-0001.html


More information about the mosh-devel mailing list