[mosh-devel] Blink and Mosh changes released

Carlos Cabanero carlosecabanero at gmail.com
Mon Aug 22 19:06:48 EDT 2016


Thanks for adding us to the webpage!! Working full speed for release ;)

On Wednesday, June 15, 2016, Carlos Cabanero <carlosecabanero at gmail.com>
wrote:

> 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
> <javascript:_e(%7B%7D,'cvml','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
>> <javascript:_e(%7B%7D,'cvml','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
>>> <javascript:_e(%7B%7D,'cvml','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
>>>> <javascript:_e(%7B%7D,'cvml','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
>>>>> <javascript:_e(%7B%7D,'cvml','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/20160822/8a6a09c1/attachment.html


More information about the mosh-devel mailing list