I’m retracting myself from the ownCloud contributors

As the header says I will no longer be part of the ownCloud contributors. It has been a major - not to say the main - part of of life for the past 2½ years; they do roll by, don't they...
When I started it was as most hobby-programmers just to scratch my own itch, but it has been a great joy and pleasure to work with the many enthusiatic people.
When Frank started his company around the project I was just as happy and gladly signed a contributors agreement for my few contributions to ownCloud core.

The ownCloud project was for me both as mentioned to scratch my own itch regarding many points, but also a way for me to heal my own mind with some brainwork that I hadn't been able to do elsewhere. For personal reasons I'd been out of a job - unable to perform it - but after I had my disability pension I could have some peace and let me try to build some strength.
It helped a lot to work with these great people.

Lately - for the better part of 1½ year - this hasn't been my feeling. I may be wrong but it is my strong feeling that ownCloud Inc. has become the priority, and the community a workbench for improving and taking over the apps.
If this is not so, keep doing your awesome work.
For those having the same feeling as me, I urge you to form an ownCloud Foundation. I don't have the strength myself, but I will gladly join and support it.
Frank, I'd wished you'd seen and supported it

Sorry for all errors in this text; this is for me a very emotional departure.

Edit: I'll explain my reasons for leaving and my wishes for the future of the ownCloud community further soon. At this moment I just need to gather my thoughts first.

Below a redacted excerpt of what triggered it. It may not seem important, but if you know your github-foo your can find find it all

 karlitschek commented 2 days ago

Sorry but we don´t want to dumb more libraries in the ownCloud core only because they might be useful. Apps are free to ship components like that if they want to use it. At the later stage if 4-5 apps ship the same component in the exact same version then we might consider to add the to the ownCloud core, or not.
:-1:

 karlitschek commented 2 days ago

I'm not saying this is not useful, secure, good code or in other ways helpful. But this doesn't mean that we should dump all useful code into the core. The design goal of the owncloud core is to be as small as possible. In fact it is already too big. So if this is useful then we should use it for the news app API first and perhaps other apps. This doesn't mean that we have to dump it into the core to make it heavier, difficult to maintain and to keep stable

 tanghus commented 21 hours ago

As it has been - wisely - decided to move the AppFramework to core, I am interested in having it both lean, but more importantly usable and secure. Therefore I prefer to have great implementations which are closely scrutinized for security issues.
A security issue that would be present in at least 3 apps has already been detected. I think that speaks for itself for including it in core.

 tanghus commented 9 hours ago

In case my point didn't come clearly thru, as I may sometimes try to soften my views when putting them into words.

    The design goal of the owncloud core is to be as small as possible. In fact it is already too big.

Recommendable, but what does that exactly mean? What is not needed in core? archive, migration, memcache, ocs, vobject, activitymanager, api, avatar, backgroundjob, cache, contactsmanager, tags, eventsource or files for that matter? Plus everything else under /apps. Fine, lets scrap it and start from scratch. I can actually mention a few that I wouldn't be missed (including some of my contributions), but that's another matter.

Design-wise it would probably be good, but we would be left with basically nothing.

Some of the good decisions that have been made during the past ~1½ year - from my PoV - are

    The strict adherence to interfaces in new contributions
    The introduction of the Server "container"
    The (partly) inclusion of the AppFramework.

Those - and other - changes can make it possible to actually move towards a mature, trustworthy codebase.
I have no special attachments to including CORS middleware, but I understand from several parties, that I trust, that it is a small, yet important part to include, and rejecting it as bloat is both disrespectful and counter-productive. So my rant is not about CORS - it's about the culture and attitude that I sometimes see in this community. What I seen is community members reluctant to voice their opinions for improvements.
To say it straight out: The community should have priority over both "The Inc." and "The Founder". Otherwise it's not a community anymore, and I don't see a place for myself in it.
Alternatively the two quoted nouns could find better ways for making compromises - without compromising the project - pun intended ;)
If none of those objects are met I frighten for the future culture of this project, but so be it; I find another place to try to keep my mind sound, because quite honestly recently it has done quite the opposite[*]

[*] With exceptions of course. No one mentioned, no one forgotten.

PS: I've tried to keep this rant in a sober tone, although my state might not be so (otherwise I probably wouldn't have written it) and I expect any responses to it to be made in public.

Frank Karlitschek
Owner
karlitschek commented 2 hours ago

@tanghus Thanks a lot. I don´t think this has anything to do with Inc. or anything else.
This is purely about the long term maintainability of the core. And this is something anything who wants that ownCloud still exists in 5-10 years should care about.
We all know several other projects where this framework/libraries bloat went wrong.
Frank Karlitschek
Owner
karlitschek commented 2 hours ago

O.K. Let´s put this into core under this conditions:

    Full documentation how this should be used by app developers is available on doc.owncloud.org at the same time.
    At least two independent apps are fully ported to use this.
    @Raydiation maintains this for the time being exactly as the rest of the app framework.

    Someone actively

    Someone starts to port other pieces of ownCloud to use this so that we don´t have code duplication.

Additionally we should also regularly check which code, frameworks or dependencies in core can be removed. Otherwise we run into a long term problem.

 tanghus commented an hour ago

    Full documentation how this should be used by app developers is available on doc.owncloud.org
    at the same time.

Reasonable and preferable.

    At least two independent apps are fully ported to use this.

I believe that should be the case for oC7 or oC8. Longterm dev is of essence.

    @Raydiation maintains this for the time being exactly as the rest of the app framework.

I think this should be rephrased to "there must always be an active, responsible maintainer." which is documented in the source file. I don't know if there's a @maintainer tag in http://www.phpdoc.org/ ?
That it should always be @Raydiation counts out the bus-factor ;)
Also where would that that place all other core developers including you Frank? We have git blame and I've been personally hit by that recently ;)

    Someone actively

Meaning what? If it's correct it doesn't have to change. This correlates with the maintainer or other developers related to this.

    Someone starts to port other pieces of ownCloud to use this so that we don´t have code duplication.

Agreed.

    Additionally we should also regularly check which code, frameworks or dependencies in core can be removed. Otherwise we run into a long term problem.

This should be addressed in a separate issue and I'm sorry @XXX that I kinda hijacked this issue for that.

 tanghus commented 19 minutes ago

    This is purely about the long term maintainability of the core. And this is something anything who wants that ownCloud still exists in 5-10 years should care about.

To be very forthright I'm not not sure which ownCloud you mean here? Is it to be sure independent developers can produce efficient and secure code, or is it to secure that the Inc. have less dependencies when they use their paid work force to make solid apps for paying customers?
The arguments and motives have become too opaque for me, and after 2½ years of mostly enjoying this project, I'll have to retract myself from it.

@XXX sorry for misusing this PR.
Frank Karlitschek
Owner
karlitschek commented 11 minutes ago

@tanghus I´m not really sure what you mean here. Like I said this has nothing to do with Inc. or anything else.
We all have invested a lot of time and energy into ownCloud. So it is in our all interested that the ownCloud core and the apps will be maintainable and stable and working and mostly bugfree for as long as possible. Because of that we have to do some quality check when architectural changes are done in the core. I think this is good maintainership in general.

Flattr this!

6 Comments

  1. 1
    jospoortvliet says:

    I haven't been involved and don't know really what happend or is going on, but I hope you don't mind if I ask a question - what is it a foundation would do that would solve this for you? What would be different?

    It feels very much like a trust issue to me and I totally get that. Aside from a foundation (which is possible but a lot of overhead) there are other ways of dealing with this, ways that require less energy from all involved.

    I want to respect your decision, but I also realize that you care about this and so do we. We want to work this out, if possible. It would be great if you give this a chance, not just for you, but as you noted too, also for others. You don't have to, of course. If you do, I'm sure you will easily find a way to get in contact with me, Frank or somebody else. Any time you want.

    Hugs and take care,
    Jos

  2. 2
    Guest says:

    As user of Journal app i am sad to see you go. About your feelings when it comes to ownCloud core development i am not a developer and can not say what is the atmosphere there.

    Anyway good luck with any future projects and/or ownCloud endeavours.

  3. 3
    Evert Pot (@evertp) says:

    I worked on a project before where the 'core' project was was pretty tight and due to the way things were built, a culture got created where we artificially introduced friction to core additions.

    Looking back this was a mistake, instead we should have tried to find a way to facilitate change in a way that would not negatively impact or dilute what was considered core.

    From a design perspective it sounds right to keep as much as possible out of a 'core', but what owncloud should try to solve, is that there is no penalty to functionality not having in core.

    The most telling example you name here is "At the later stage if 4-5 apps ship the same component in the exact same version..."

    HOLY SHIT, you don't have dependency / package management. What is this.. 2007 😛

    What I didn't get from this either is how these arguably technical issues have anything to do with the "open source vs commercial goals" problem. It does sound like you have leadership issues though.

    Anyway.. if you're still interested in the field, we'd love your help =) We're working on some interesting projects and we're very much open source. AGPL is creepy when there's a commercial entity holding the copyright. It screams 'conflict of interest'.

  4. 4
    Björn says:

    I'm really sad to hear this. Contacts was always one of my favorite apps and you did an awesome job! Maybe at some point in time you will feel comfortable rejoining the ownCloud community... Take care!

  5. 5
    Bart says:

    Sorry to see you go. I have also noticed the resistance to include improvements, and it is really demotivating. I hope you find something worthwhile to focus on next.

  6. 6
    Michael Wenyon says:

    Thanks for your work on Owncloud Contacts. I use the syncing every day to keep me straight between Mac and Linux, via Owncloud.