
Ubuntu One file syncing code Open Sourced - progval
https://insights.ubuntu.com/2015/08/10/ubuntu-one-file-syncing-code-open-sourced
======
rocky1138
An active FOSS alternative to this is Syncthing.
[https://github.com/syncthing](https://github.com/syncthing)

~~~
amatriain
I really like the philosophy of the project and the guys running it, but my
recent experience trying to use it as a dropbox replacement has been bad:
machines that stayed "syncing..." forever, deleted files that reappeared after
a while, renamed folders resulting in duplicated folders with both the old and
the new name...

I think it's just that the software is not yet mature and production-ready,
and perhaps I was throwing too much data at it at once. Seeing the project
progress, I'm confident that when it becomes more stable it will be a very
nice piece of software, but it's not there yet.

~~~
ekianjo
Not sure what is causing your bad experience. Are you using an up-to-date
version? I have been deploying it across 4 different computers and it works
like a charm.

~~~
amatriain
Yes, I was using the last version in all machines (some mint, some arch).

I was trying to sync seven machines in three different physical locations,
some with slow internet connectivity; only one machine in each location had
its syncthing ports open to the internet through NAT. I'm not sure it's a
supported use case: syncing in the same LAN generally worked fine, but changes
often didn't propagate correctly to other locations; for instance a folder
name change sometimes was not propagated to the remote locations, and after
some time the machine in which the rename had happened detected that the rest
of the machines in the syncthing group had a folder which didn't exist locally
(the folder with the old name), and downloaded it from its peers. The result
was that the folder was duplicated everywhere, with both the old and the new
name.

The same happened sometimes with deletions: sometimes they didn't propagate
over LAN boundaries, and this resulted in the deleted files reappearing after
some time.

A machine staying "syncing..." forever also happened sometimes, requiring a
manual restart of the service. I couldn't reliably reproduce it though.

I like the project and I'm sure if I reported the issues in github they'd have
given support. I wish I had the time for properly reporting and investigating,
but I really needed a syncing solution I could trust for a small business and
I needed it ASAP, so I settled for owncloud (which for the moment has not
given me any surprises). I will try to find some time to reproduce the bugs in
my personal machines and report them, but I really didn't have the time when I
found them.

------
mariocesar
One year ago I said it will be awesome if they did,
[https://news.ycombinator.com/item?id=8347760](https://news.ycombinator.com/item?id=8347760)
It is AWESOME :)

------
flowerpot
Neat. I really liked Ubuntu One. However, if they seek to receive
contributions I think GitHub would give them more exposure than launchpad,
from what I can tell the history is not preserved (probably with good reasons)
so the switch from bazaar would not have been painful.

~~~
toyg
_> if they seek to receive contributions_

They don't. This is a code dump for a dead project. From the FAQ:

    
    
        "Will you take patches?"
        In general, no. 
        We won’t have anybody assigned to reviewing and accepting code. 
        We’d encourage interested maintainers to fork the code [...]

~~~
flowerpot
I've missed that, thanks! Then it totally makes sense since it's their own
platform.

------
nisa
So could this evolve into a better owncloud server? I don't think AGPL is a
problem for the majority of owncloud usecases. It looks it's based on Python &
Postgres - maybe it has better performance than owncloud?

------
flurpitude
That's good news, but in my experience Ubuntu One file sync never worked very
well. Maybe someone can improve it now we have the code.

It's also worth noting that this is a centralized, server-based file sync,
unlike the peer-to-peer Syncthing and BTSync. It's more like Dropbox.

------
amelius
Any chance of seeing any docs covering this? For example, addressing the
overall architecture?

------
stevegood
As a person who does not always want or need to install another VCS tool
(Bazaar) I have created a cloned copy on Github (I'm sure others have done so
as well but they haven't posted here yet from what I could find). Enjoy!
[https://github.com/stevegood/filesync-
server](https://github.com/stevegood/filesync-server)

------
emsy
Does anyone know why they didn't open source it in the first place? Couldn't
find anything in the article.

~~~
aaronbrethorst
Third point in the FAQ:

    
    
        Why did it take so long to release?
    
        Our engineering team was tasked with supporting
        the release of the phone and then the now
        announced Snappy project. The team cared deeply
        about open sourcing this code and spent time
        wherever they could spare in moving it forward,
        cleaning up the code so it would work enough
        outside of the very specific production
        environment and untangle it of some commercial
        code that was used at some point.

~~~
ausjke
exactly, Cannonical is really doing too many things with limited resource at
the same time.

~~~
geofft
The obvious follow-up question is, given their limited resources, why were
they spending some of it on closed-source code based on other people's
commercial code?

~~~
chipaca
What're you talking about, there?

~~~
geofft
The answer quoted above said they needed to spend time to "untangle it of some
commercial code that was used at some point." That just strikes me as a
bizarre problem for Canonical to have even had.

~~~
slgeorge
Only if your focus is open source. UbuntuOne was conceived of as a service, so
to make the project go faster and solve problems commercial products were
used. As you'd expect you then have to disentangle that code to release you
code as open source - happens all the time in big proprietary code bases that
are being open sourced.

------
IgorPartola
This is exciting. Alternatives currently are things like Dropbox (proprietary
and somewhat pricy) and TorrentSync (proprietary). I look forward to firing
this thing up on my own server and have a private remote file storage. I do
currently run a NAS but without a VPN connection home it's not as useful.

~~~
pwnna
There's also Seafile, which I've been using for a quite a while now and really
impressed by.

~~~
dochtman
I tried to package and run Seafile, but it was kind of complex, and under-
documented. Also, the first time I got it to run on my server, it ran my Linux
server into the ground (IIRC it kept the CPU so busy that I couldn't do
anything through SSH -- had to reboot the server to get back in). I also got
the impression the open source community isn't that active -- i.e., it's
mostly maintained by the commercial backers (some Chinese company, I think).

On the other hand, Syncthing is a clear demonstration where deploying Go code
is dead easy, although I really don't like Go's packaging all that much.

The one thing I still want from Syncthing is a way to have client-side
encryption, e.g. have remote storage with zero knowledge of the actual data
I'm storing.

~~~
pwnna
What specific trouble do you have with it? I have it setup on a server with a
semi reasonable deployment/update mechanism managed through fabric and
ansible.

I understand the setup was crappy (you have to leverage their script), but I
believe Debian is looking at packaging it so maybe in the future that flow
will be better.

------
glabifrons
I wonder how long until someone creates an Android client for this (one that
is configurable, not hard-coded to point to the defunct Ubuntu One servers).

I'd love to run a ZFS-backed Ubuntu One server for all my family's portable
devices.

------
sandworm101
A very good response to Win10s inclusion of closed-source, proprietary, non-
removable, everything-is-uploaded, "just trust us", spyware. Ubuntu isn't
perfect, but it's far more trustworthy than anything MS has put out in recent
decades.

~~~
toyg
Not really. This is dead code, U1 was discontinued. It's more like if MS
opensourced Bob.

~~~
pquerna
Yeah, in the FAQ of the article it becomes pretty clear how dead this code is:

\------------

    
    
      Do I have to sign a contributor agreement to modify the code?
    

No. This is no longer an active project, we are providing the code for public
to read and use on their own.

    
    
      Will you take patches?
    

In general, no. We won’t have anybody assigned to reviewing and accepting
code. We’d encourage interested maintainers to fork the code and build out a
community around it.

\------------

So, I mean, er, thanks for open sourcing a dead project. But still under an
AGPLv3 license.... meh.

~~~
vezzy-fnord
_So, I mean, er, thanks for open sourcing a dead project. But still under an
AGPLv3 license.... meh._

A project gets released as free software, and not only do you make a sarcastic
thanks, but you moan about how it's using a license that ensures you pass on
the same freedom to other users. Talk about entitlement.

~~~
geofft
This is Canonical, a company that would not have existed on the work of the
free software community. For them to even consider writing closed-source
software is entitlement.

~~~
ssalazar
90% if not more of web startups from the last 10 years would not exist without
free software. Is it entitlement that Facebook has closed-source software?
Dropbox? GitHub?

~~~
geofft
Canonical's primary _product_ is Ubuntu, which is, to first order, a
repackaging of Debian. Facebook and Dropbox just _use_ free software. GitHub
is sort of in between; certainly they have invested a lot into the stuff
besides raw git hosting, which is why they have such a dominant position, but
certainly git itself is a core part of their product.

~~~
slgeorge
Canonical has put a lot of energy into open source for a decade - contributing
code and putting free software into the hands of millions around the world. It
should be entitled (your word, different usage) to write proprietary code if
it thinks that's the right approach.

If you constantly burn the companies and people who actually work on open
source for not meeting the purity standard then you make it a hard
environment. Honestly, there are way more fully proprietary software companies
out there, or companies using but not contributing anything to open source to
have a go at.

