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