Live data from Hacker News

Vim ported to iOS

applidium.com

101–110 of 133 posts

Re: Vim ported to iOS

#101
post #98
post #91

Earlier quoted context omitted.

Apple don't allow any GPL software on iOS.

Other way around - the app store does not allow distributing the source along with the app. So, strictly speaking, publishing GPL software in the App Store is in violation of the GPL. If you - as a rights holder - are okay with having the source downloadable at another location, you can definitely publish GPL software using the App Store. Case in point: Battle for Wesnoth.

You do not have to distribute the source code of a GPL application with the binary. You merely have to make it available. For example, I have an Ubuntu Linux install CD with lots of GPL binaries and no source. It's perfectly legal for that binary-only CD to be distributed.

AFAIR from the VLC case, software distributed on the AppStore has extra restrictions on the user (You can only use it for personal reasons, you can only install (use?) it on 5 (or so) machines, etc.) GPL software cannot be distributed under these extra clauses.

If you are the sole programmer & copyright holder, then you are free to relicence/release your work under some other licence that is OK with these.

However if you are incorporating other GPL software (like in the VLC case) then you do not hold the copyright on that software, so the person who does have copyright on it is letting you distribute the software so long as you agree to certain terms. You cannot distribute someone else's GPL software on the Apple App Store because you would not be meeting the GPL requirements of "do not place any other restrictions on the software".

I delibrately phrased it as "Apple doesn't allow GPL" because this is not a technical problem, but a legal/contractual/business problem. Apple could choose to allow GPL. They do not. Microsoft, who called the GPL cancer, allow GPL Apps on Windows.

Re: Vim ported to iOS

#102
post #99
post #98

Earlier quoted context omitted.

Other way around - the app store does not allow distributing the source along with the app. So, strictly speaking, publishing GPL software in the App Store is in violation of the GPL. If you - as a rights holder - are okay with having the source downloadable at another location, you can definitely publish GPL software using the App Store. Case in point: Battle for Wesnoth.

Does the App Store explicitly disallow bundling the source code inside the app? What if you added a .zip with the source into the app, and on app startup you copy the .zip out of the Application directory into the app's Document folder, which is accessible via iTunes (as long as you set the appropriate flag in the app descriptor plist to enable document sharing)

Bundling of source code with binaries is not required under the GPL. You can have it on your website. However the App Store EULA etc. are incompatible with the GPL (cf. http://news.ycombinator.com/item?id=3489115)

Re: Vim ported to iOS

#104
post #102
post #99

Earlier quoted context omitted.

Does the App Store explicitly disallow bundling the source code inside the app? What if you added a .zip with the source into the app, and on app startup you copy the .zip out of the Application directory into the app's Document folder, which is accessible via iTunes (as long as you set the appropriate flag in the app descriptor plist to enable document sharing)

Bundling of source code with binaries is not required under the GPL. You can have it on your website. However the App Store EULA etc. are incompatible with the GPL (cf. http://news.ycombinator.com/item?id=3489115 )

Interestingly, there seems to be an exception for open source licenses in http://www.apple.com/legal/itunes/appstore/dev/stdeula/ (I assume this is the relevant appstore eula); look at the end of:

"You may not copy (except as expressly permitted by this license and the Usage Rules), decompile, reverse engineer, disassemble, attempt to derive the source code of, modify, or create derivative works of the Licensed Application, any updates, or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by the licensing terms governing use of any open sourced components included with the Licensed Application)"

I assume this is what makes the LGPL okay to use? (LGPL explicitly requires allowing reverse engineering of the entire application, even the non-LGPL parts)

Re: Vim ported to iOS

#105
ahahahahahahahahaha. This is hilarious. The author of vi says:

"It was really hard to do because you've got to remember that I was trying to make it usable over a 300 baud modem. That's also the reason you have all these funny commands. It just barely worked to use a screen editor over a modem. It was just barely fast enough. A 1200 baud modem was an upgrade. 1200 baud now is pretty slow.

9600 baud is faster than you can read. 1200 baud is way slower. So the editor was optimized so that you could edit and feel productive when it was painting slower than you could think. Now that computers are so much faster than you can think, nobody understands this anymore.

The people doing Emacs were sitting in labs at MIT with what were essentially fibre-channel links to the host, in contemporary terms. They were working on a PDP-10, which was a huge machine by comparison, with infinitely fast screens.

So they could have funny commands with the screen shimmering and all that, and meanwhile, I'm sitting at home in sort of World War II surplus housing at Berkeley with a modem and a terminal that can just barely get the cursor off the bottom line.

It was a world that is now extinct. People don't know that vi was written for a world that doesn't exist anymore - unless you decide to get a satellite phone and use it to connect to the Net at 2400 baud, in which case you'll realize that the Net is not usable at 2400 baud. It used to be perfectly usable at 1200 baud. But these days you can't use the Web at 2400 baud because the ads are 24KB."

source: http://www.theregister.co.uk/2003/09/11/bill_joys_greatest_g...

In other words, the PRIMARY design constraint with VI was how long it took to update a screen. All these keyboard modes and so on are about getting as little over the wire as possible while still having a full screenful to look at locally.

Sure, this idiom actually is very useful on a locally-running vi too (not to mention vi over an ssh), the keyboard commands are a powerful way to interface with the text.

But the idea of porting this to a machine that 1) will run vi locally (not on the remote machine through an SSH session), and 2) has no keyboard

is so funny it hurts! Still, A for Effort.

Re: Vim ported to iOS

#107

ahahahahahahahahaha. This is hilarious. The author of vi says: "It was really hard to do because you've got to remember that I was trying to make it usable over a 300 baud modem. That's also the reason you have all these funny commands. It just barely worked to use a screen editor over a modem. It was just barely fast enough. A 1200 baud modem was an upgrade. 1200 baud now is pretty slow. 9600 baud is faster than you…

vi != vim

I guess running a terminal locally causes some pain too?

Re: Vim ported to iOS

#108
post #101
post #98

Earlier quoted context omitted.

Other way around - the app store does not allow distributing the source along with the app. So, strictly speaking, publishing GPL software in the App Store is in violation of the GPL. If you - as a rights holder - are okay with having the source downloadable at another location, you can definitely publish GPL software using the App Store. Case in point: Battle for Wesnoth.

You do not have to distribute the source code of a GPL application with the binary. You merely have to make it available. For example, I have an Ubuntu Linux install CD with lots of GPL binaries and no source. It's perfectly legal for that binary-only CD to be distributed. AFAIR from the VLC case, software distributed on the AppStore has extra restrictions on the user (You can only use it for personal reasons, you ca…

Okay, thanks for the detailed explanation and the reasoning behind that sentence. Yes, Apple did not take any special action to support GPL in the app store.

Personally, I find it surprising that Apple, which leveraged open source to a huge effect and took stewardship of some high-profile OS projects (webkit, llvm/clang, CUPS), but allows other companies to position themselves as "open source friendly" alternatives. Especially as one of those companies is Microsoft.

Re: Vim ported to iOS

#109
post #94
post #90

Earlier quoted context omitted.

> With a bluetooth keyboard and a charging dock or a stand, iPad is a great platform for Vim coding. So, when your iPad is a laptop Vim is great!

My point is that with this and iSSH, iPad + a keyboard could be a serious alternative to a traditional laptop for many types of programming tasks.

Any free alternatives to iSSH? I don't feel like paying 10$ just to try it out.

Re: Vim ported to iOS

#110

ahahahahahahahahaha. This is hilarious. The author of vi says: "It was really hard to do because you've got to remember that I was trying to make it usable over a 300 baud modem. That's also the reason you have all these funny commands. It just barely worked to use a screen editor over a modem. It was just barely fast enough. A 1200 baud modem was an upgrade. 1200 baud now is pretty slow. 9600 baud is faster than you…

vi != vim I guess running a terminal locally causes some pain too?

no, not at all. In fact I administer my own computer with vi (meaning vim), from a local terminal instance.

But the fact remains that porting an app like that to a touchscreen device meant to hide systems administration (as iOS does) is getting so far BOTH from the history of vi AND its most prevalent current usage.

That doesn't mean it's not very cool. I just thought it would be interesting to reflect on the background.

I guess what some people say about a bluetooth keyboard...almost makes this somehow useful. Still, that keyboard is not always going to be there.

Post reply on HN