On Sat, 2015-10-14 at 20:22 +0100, Ian Clarke wrote:
> I think it's time for us all to take a step back and have a serious
> conversation about where we are, and where we are going.

I (as pintu) asked this question on IRC a little while back, I think
it's worth sharing that log.  Here is an executive summary:

15:46 < pintu> there is no underlying strategy
15:46 < pintu> there is some software that works-ish
15:46 < pintu> and some people making changes to it
15:47 < pintu> there is no clear strategy on how to get from here to a robust, 
published protocol enabling censorship resistant publishing
15:47 < pintu> right?
15:47 < TheSeeker> and until something better comes along, Freenet is still the 
best option that exists.


Here is the abridged log with activity outside the conversation omitted:

--- Log opened Thu May 08 13:58:12 2014
13:58 -!- pintu [n...@50-197-126-28-static.hfc.comcastbusiness.net] has joined 
#freenet
13:58 -!- Irssi: #freenet: Total of 74 nicks [8 ops, 0 halfops, 0 voices, 66 
normal]
13:58 -!- Irssi: Join to #freenet was synced in 1 secs
14:08 < pintu> https://wiki.freenetproject.org/Roadmap/0.8
14:08 < pintu> "This page was last modified on 23 July 2011"
14:09 < pintu> where is freenet going?
14:09 < niqnaq> abandonware
14:15 < pintu> niqnaq: are you serious?
14:15 < pintu> "Our current balance is $35023.31."
14:15 < pintu> (30th March 2014) Freenet 0.7.5 build 1461 released
14:15 < pintu> seems to not be going towards abandonware
14:16 < TheSeeker> things will hopefully pick up this summer.
14:18 < pintu> what protocol does freenet use?
14:29 < TheSeeker> the freenet protocol?
14:30 < greycat> Last I heard (which may be very out of date), the node-to-node 
protocol runs over UDP.
14:42 < ArneBab> pintu: we’re currently working on the plugins and applications.
14:59 < pintu> greycat: what is "the node-to-node protocol"?  where is it 
documented?
15:00 < greycat> https://wiki.freenetproject.org/Node_protocol
15:01 < pintu> that's it?
15:01 < pintu> tha's not documentation, that's just some labels
15:01 < greycat> That's all I know of at the moment.  I'm not up to date on 
this.
15:01 <@operhiem1> I'm not aware of protocol documentation either, but I 
haven't worked on it.
15:01 < pintu> I don't understand
15:02 <@operhiem1> Ultimately I fear the best documentation we have to offer on 
that is its implementation.
15:02 < pintu> how can freenet grow if the protocol isn't documented?
15:02 < pintu> right
15:02 < pintu> I see now
15:02 < pintu> 14:09 < niqnaq> abandonware
15:02 <@operhiem1> It hasn't been growing much.
15:02 < pintu> right
15:02 <@operhiem1> pintu: Doesn't that seem at least a little impolite?
15:03 <@operhiem1> Abandonware means no one is working on it. People are 
working on it.
15:03 < TheSeeker> The protocol isn't documented because it's still alpha and 
they don't want alternative implementations screwign things up and making 
things impossible to debug ...
15:03 < pintu> operhiem1: I'm not sure what you think is impolite
15:03 <@operhiem1> pintu: Maybe I'm misreading your tone. Never mind.
15:04 < pintu> regardless, the fact that the protocol isn't documented means 
that the ecosystem around freenet can only stagnate
15:04 <@operhiem1> TheSeeker: My fear with an alternative implementation is 
that there wouldn't be enough momentum behind it to reach feature parity with 
the existing one.
15:04 < TheSeeker> niqnaq was the one saying freenet is abandonware ...
15:04 <@operhiem1> pintu: That may indeed be true.
15:04 < pintu> hence, I see now why niqnaq said that the place freenet is going 
is abandonware
15:04 <@operhiem1> pintu: How does one document a protocol?
15:05 < TheSeeker> RFC?
15:05 < pintu> operhiem1: see these for many examples: 
http://www.ietf.org/rfc.html
15:05 < pintu> I don't understand
15:05 < TheSeeker> problem is that the protocol is subject to radical change at 
any time.
15:06 <@operhiem1> Documenting a specific negtype should be fine though.
15:07 < pintu> TheSeeker: how can people have set up an auto-update 
infrastructure for a production network.. and yet consider the protocol to be 
alpha?
15:07 < TheSeeker> do negtypes dictate the message formatting?  or just the 
crypto setup?
15:07 <@operhiem1> That said I'm not sure what direct benefit I see from 
documentation. Maybe I just lack vision here but I lean towards shorter-term 
stuff with direct tangible results.
15:07 < pintu> it was alpha when it was being simulated
15:07 <@operhiem1> Nevertheless I will add it to my list of stuff to get to.
15:07 < pintu> then it was beta
15:07 < pintu> now it's a production system
15:07 < TheSeeker> because freenet clearly doesn't work yet, and is FAR from 
feature complete?
15:08 <@operhiem1> ^
15:08 < pintu> you don't have over-the-wire auto-updates in an alpha system
15:08 <@operhiem1> This one does.
15:08 < TheSeeker> beta is feature complete, production is stable and able to 
be used to make money woth :P
15:08 <@nextgens> it's been a choice
15:08 < pintu> 14:15 < pintu> "Our current balance is $35023.31."
15:08 <@nextgens> we've chosen not to document FNP
15:08 <@nextgens> for several reasons
15:08 <@operhiem1> It's in the odd situation of being maintained by part-time 
volunteers and yet having thousands of users. http://asksteved.com/stats/
15:09 < TheSeeker> auto-update was needed because otherwise people wouldn't 
update their nodes and debugging thigns would be infinitely harder.
15:09 <@nextgens> the primary one being lazyness and lack of ressource
15:09 <@nextgens> the secondary one being: we've got enough of our own bugs and 
don't want to deal with alternate implementations
15:09 < pintu> nextgens: erm.. you have $35000 to spend on protocol 
documentation
15:09 < pintu> holy fuck
15:09 < TheSeeker> current balance is high because there have been no paid devs 
for some months.
15:10 < pintu> you "don't want to deal with alternate implementations"?
15:10 < TheSeeker> and a lot of that is bitcoin, and could evaporate tomorrow.
15:10 <@nextgens> TheSeeker> don't get me started on that :)
15:10 <@operhiem1> pintu: It's difficult enough to deal with patched 
implementations that cheat. Currently we suspect they're causing severe 
fetching performance problems.
15:10 <@nextgens> pintu> feel free to vent your frustration to our dear leader
15:11 <@nextgens> pintu> I (like many others) have never been paid to work on 
the project
15:11  * operhiem1 can't read "dear leader" as anything but sarcastic
15:11 <@nextgens> nor would want to
15:11 < pintu> operhiem1: why are you concerned if it's only alpha software?
15:11 < TheSeeker> pintu: or work on figuring out why NLM failed so 
dramatically so we can re-introdice a fixed version.
15:11 <@operhiem1> pintu: Alpha doesn't mean an obligation to not be useful.
15:11 <@nextgens> operhiem1> I'm getting good at it, no? :p
15:11 < pintu> operhiem1: it implies no obligation to be useful
15:11 <@operhiem1> Yet thousands of users.
15:12 < pintu> which is bad
15:12 < TheSeeker> in what way?
15:12 < pintu> you don't know?
15:12 <@operhiem1> I will say remarkably few of those (namely about 0) are 
developers contributing to the core, yes.
15:12 <@nextgens> operhiem1> it's lack of time rather than anything else
15:13  * nextgens is to blame for most of the negtype crazyness
15:13 <@operhiem1> nextgens: For what - not documenting?
15:13 <@nextgens> but retrospectively, it's far from being the worse part of 
the codebase
15:13 <@operhiem1> Which isn't saying a great deal.
15:14 < pintu> I don't understand this
15:14 < pintu> why are you concerning yourself with the state of a network 
whose protocol you consider to be in an alpha state?
15:15 <@operhiem1> pintu: Because we're not GNUNet?
15:15 < greycat> Because they change the protocol as needed to try to make the 
network work.
15:15 < pintu> operhiem1: I understand what you mean by that
15:15 < TheSeeker> we need many thousands of users to know if changes scale.
15:15 < TheSeeker> because we don't have access to supercomputers for 
simulation.
15:15 < pintu> greycat: why?
15:15 < ArneBab> pintu: the freenet client protocol is documented.
15:16 < pintu> operhiem1: erm.. I don't understand what you mean by that
15:16 < greycat> Because it's an ongoing research project.  They don't KNOW how 
to make it work yet.  They're trying to figure it out.
15:16 < pintu> greycat: it it's an ongoing research project then why is there 
an auto-update system?
15:16 <@operhiem1> pintu: https://gnunet.org/ is a similar content-based 
addressing network. It seems to actively reject non-developer users and is very 
difficult to get running.
15:16 < pintu> those two concepts are mutually exclusive in my mind
15:17 < greycat> As they explained, they need thousands of users, and they need 
those users to keep their software current.
15:17 < pintu> operhiem1: that doesn't answer my question
15:17 < greycat> Most of the users would not update their nodes if there were 
no auto updates.
15:17 < pintu> greycat: why do they need thousands of users?
15:17 <@nextgens> pintu> because freenet is a very efficient distributed 
caching network; and the gap to auto-update is small enough that we've crossed 
it
15:17 <@operhiem1> pintu: I do see how it seems like a contradiction, but I 
also don't see why this software needs to fit into your conceptions of how 
software should be updated.
15:17 <@nextgens> pintu> we used to have problems distributing our software... 
the auto-updater solved that
15:17 < pintu> nextgens: why?
15:18 < greycat> 11:16  TheSeeker> we need many thousands of users to know if 
changes scale.
15:18 <@nextgens> as well as allowed us to roll new versions our faster
15:18 < ArneBab> pintu: we have money, but no one to use it, because it 
actually is too little for anyone of us to cease the current job.
15:18 <@nextgens> pintu> ever heard of the great firewall?
15:18 <@nextgens> pintu> because we didn't use to be bitcoin rich
15:18 <@nextgens> and believe it or not, at some point the project was 
financially in jeopardy
15:19 <@nextgens> now that the funds are not directly used to fund development 
(just the supporting infrastructure) there's no problems of course
15:19 < pintu> 15:15 < TheSeeker> because we don't have access to 
supercomputers for simulation.
15:19 <@nextgens> that's bullshit
15:20 < pintu> if this is a research project, access to supercomputers should 
not be a problem
15:20 < ArneBab> pintu: freenet is an ongoing research project, but people do 
use it. And auto-update is needed so people run the current code and we see the 
effects of changes.
15:20 <@nextgens> what we don't have is competent people with the will to 
implement our arcane protocol
15:20 <@nextgens> ... and well, I'm not sure it's about competency; more the 
case of motivation
15:21 <@nextgens> I used to spend a lot more time contributing, I don't 
anymore. Life happened :/
15:21 < pintu> what is the goal of this endeavour?
15:21 < ArneBab> nextgens: and time: all the good devs got much better paying 
and saferr jobs (looking at digger3 and operhiem1 here)
15:21 < ArneBab> pintu: real censorship resistant publishing.
15:22 < pintu> ArneBab: but in order to do that, you need to develop a robust 
protocol
15:22 < ArneBab> pintu: essentially the freedom of the press through technology
15:22 < ArneBab> pintu: we first need to have a protocol that works
15:22 < TheSeeker> nextgens: whenever I feel motivated, all I have to do is try 
to track down a seemingly simple issue through the code and I get demotivated 
real quick :P
15:22 < pintu> in order to develop a protocol, you need to publish the 
protocol, have a number of implementations, and iterate over published versions 
of the protocol
15:22 < ArneBab> pintu: and for that we need real-world experience
15:23 <@nextgens> pintu> that's what we do
15:23 < pintu> you don't create a 1000-user network of public users, create an 
auto-update system to try and use them as guinea pigs
15:23 < ArneBab> pintu: developing *one single* protocol to the current state 
took 10 years. How long do you want to wait for several implementations?
15:23 < greycat> Why not?
15:23 <@nextgens> pintu> alternate implementations of the protocol have 
different names that's all
15:23 < greycat> If the users are willing to be guinea pigs....
15:23 < pintu> greycat: because the project won't get anywhere :-)
15:23 <@nextgens> pintu> google "entropy"
15:23 < ArneBab> pintu: all our users know that freenet is experimental and 
*like* helping freenet get better
15:24 < pintu> freenet is not getting better
15:24 < ArneBab> pintu: you clearly did not experience freenet 7 years ago.
15:24 < pintu> it isn't publishing a protocol
15:24 < TheSeeker> interesting that entropy never updated to be copatible with 
0.7 ...
15:24 < pintu> the goal is to develop real censorship resistant publishing
15:24 <@nextgens> like many of the other forks it died
15:24 < TheSeeker> *compatible
15:24 < ArneBab> pintu: freenet works much better today than 5 years ago.
15:24 < pintu> that requires a protocol to do so
15:24 < ArneBab> pintu: it requires an implementation.
15:24 < pintu> ArneBab: it requires many implementations of a single protocol
15:24 < TheSeeker> 'source is documentation', and source is freely available.
15:24 < ArneBab> pintu: a protocol without implementation is worthless. An 
implementation without a documented protocol still works.
15:25 < pintu> TheSeeker: source is not documentation
15:25 < ArneBab> pintu: please stop it.
15:25 <@nextgens> ArneBab> does it? or did the network capacity increase? or 
did the userbase decrease?
15:25 < pintu> TheSeeker: releasing source does not constitute protocol 
documentation
15:25 < TheSeeker> ArneBab: it's not like we have anything else to do right now 
besides feed the trolls.
15:25 < ArneBab> pintu: you said your point. You got your answers. Any 
bickerring we can do about it now will just steal time from everybody.
15:25 <@operhiem1> Source isn't _good_ documentation, I agree, but it is a form 
of it.
15:25 < pintu> operhiem1: no, it isn't
15:25 <@operhiem1> That said I think troll feeding hours may be over now.
15:25 <@nextgens> that's beyond the point
15:25  * operhiem1 back to other stuff
15:26 <@nextgens> we have documented the client parts of the protocol
15:26 < pintu> lol
15:26  * ArneBab back to other stuff, too.
15:26 < TheSeeker> unless we want to have a discussion about how we could 
detect and block / throttle nodes that are running the requeststarter delay 
patches.
15:26 <@nextgens> and don't have any plan to document the in-between-nodes 
protocol
15:26 < pintu> you guys really have no idea what you're doing, do you?
15:26 <@nextgens> for the reasons layed out above
15:26 < TheSeeker> pintu: we await your patches
15:26 < pintu> TheSeeker: there is no protocol to patch
15:27 < pintu> you are not developing real censorship resistant publishing
15:27 <@nextgens> pintu> so just fork the codebase and document the protocol
15:27 <@nextgens> good luck with that
15:27 < TheSeeker> we're all in the same boat.
15:27 < ArneBab> “we love bikeshedding discussions. an anonymous comment can 
derail a free software project for *months*!”
15:27 <@nextgens> plenty of people tried, they're gone now
15:27 <@nextgens> pintu> but what you're talking about is not Freenet
15:27 < pintu> nextgens: why would I fork your code?
15:27 <@nextgens> so just take it to #freenet-chat
15:28 < pintu> nextgens: what is not about freenet?
15:28 <@nextgens> pintu> what you're talking about
15:29 < pintu> nextgens: what are you referring to?
15:29 <@nextgens> we don't document in-between-node protocol and won't before 
1.0 is released
15:29 <@nextgens> end of story
15:30 < pintu> 15:16 < greycat> ... They don't KNOW how to make it work yet. 
They're trying to figure it out.
15:31 < pintu> what are you doing to figure it out?
15:31 < TheSeeker> he was talking about the GNUNet people.
15:31 < greycat> No, I was talking about Freenet.
15:31 < TheSeeker> oh?
15:31 < pintu> TheSeeker: no, he was talking about freenet
15:32 < TheSeeker> well, there's at least one student that was working on graph 
theiry stuff
15:32 < TheSeeker> theory! damn, I need to go find food.
15:33 < pintu> so the project as a whole has no clear direction on what to do 
next in order to figure out how to make it work?
15:33 < TheSeeker> There are a lot of clear goals of what to do next, but 
nobody with the time/experience to implement them.
15:34 < pintu> TheSeeker: can you tell me what those goals are?
15:36 < TheSeeker> New Load Management (token/bucket based), Friend of a Friend 
darknet auto-expansion, Programmable Ssubspace Keyss, ditching db4o, easier 
darknet invite systems, transport plugins for steganographic transports ...
15:37 < pintu> that's a list of changes to the software
15:37 < pintu> how will those changes help figure out how to make it work?
15:38 < pintu> perhaps I should rephrase my question
15:38 < pintu> does the project as a whole have a strategy on determining how 
to make real censorship resistant publishing work?
15:40 < pintu> I don't understand this
15:40 < pintu> why are you people here?
15:40 < pintu> I mean what are doing? :-)
15:41 < pintu> s/what are/what are you/
15:41 < TheSeeker> Freenet 'works' as a publishing platform that protects the 
source, if that were not true Frost wouldn't be full of so many pedos.
15:41 < pintu> I'm flabbergasted
15:41 < pintu> TheSeeker: that's not what greycat says
15:41 < TheSeeker> the reason it's not popular is that it is too slow.
15:42 < pintu> TheSeeker: and if that's the case then why not release 1.0 and 
document the protocol?
15:42 <@nextgens> because we're not happy with it
15:42 < ArneBab> pintu: freenet actually achieves parts of its goals, but it 
still has missing pieces.
15:43 < TheSeeker> because routing sucks, and load management sucks and the two 
are closely related.
15:43 < pintu> there seems to be some conflicting opinions on what this project 
is
15:43 < greycat> No, there's no conflict about what the overall goal is.
15:43 < pintu> goal != project
15:43 <@nextgens> you're not making sense
15:44 <@nextgens> we all agree with the mission statement
15:44 <@nextgens> we have diverging opinions on how to get there
15:44 <@nextgens> (and that's normal)
15:44 < pintu> nextgens: can you describe *any* opinion on how to get there?
15:44 <@nextgens> so far, we have weak leadership, so the project evolves based 
on contributions
15:45 <@nextgens> so those who code and contribute rule (for the better or the 
worse)
15:45 <@nextgens> pintu> that's actually documented; on the wiki
15:45 <@nextgens> and the mailing lists
15:46 <@nextgens> toad's regularly publishing some form of roadmap
15:46 < pintu> I'm not asking for wishlist items
15:46 < pintu> I'm asking about a strategy
15:46 < TheSeeker> if you WANT people to make alternate implementations, then 
get started making detailed documentation of the protocol, nobody can stop you.
15:46 <@nextgens> roadmap is a big word; it's more like his TODO
15:46 < ArneBab> pintu: https://wiki.freenetproject.org/Roadmap
15:46 < pintu> there is no underlying strategy
15:46 < pintu> there is some software that works-ish
15:46 < pintu> and some people making changes to it
15:47 < pintu> there is no clear strategy on how to get from here to a robust, 
published protocol enabling censorship resistant publishing
15:47 < pintu> right?
15:47 < TheSeeker> and until something better comes along, Freenet is still the 
best option that exists.
15:47 < pintu> that seems to be about where the project is at from what you're 
saying
15:47 < pintu> is that it?
15:48 <@nextgens> we've just described to you how it works
15:48 <@nextgens> there's hardly any leader
15:48 <@nextgens> and nowadays those who contribute don't do it for the money
15:48 <@nextgens> so their contributions are about stuff they're interested in
15:49 < TheSeeker> If you really want to take over the project, then talk to 
Ian about your plans.
15:49 <@nextgens> and yes, that's hardly the best strategy to reach 1.0
15:49 < pintu> how disappointing
_______________________________________________
Devl mailing list
Devl@freenetproject.org
https://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to