User talk: Hellekin/A Coder Perspective Of GNU Social

From LibrePlanet
Revision as of 20:35, 23 December 2012 by Hellekin (talk | contribs) (Paste IRC discussion on #lorea (please fix markup))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

23:52 < melvster> +1 To Use My Favorite Language 23:53 < melvster> +1 To Code For the Future 23:53 < melvster> +1 To Ignore Market Constraints 23:53 < melvster> -1 To Use [insert project here] as a Base 23:53 < melvster> that project must be willing to participate, and there must be testability ... the test should not take more than 1 day to code 23:54 < melvster> i would suggest the test should be Project A) can send a message to Project B) 23:54 < hellekin> ok, let's do some for tomorrow :) 23:54 < melvster> +1 To Embrace the Market 23:54 < melvster> social is more fun with more users! 23:56 < hellekin> yep. should be a tagline :) 23:56 < melvster> the starting point is identity and identifiers 23:56 < hellekin> no 23:56 < hellekin> I disagree 23:56 < melvster> if two systems have the same identitfiers they can understand each other 23:56 < hellekin> the starting point, you put it 23:56 < hellekin> project a sends a message to project b 23:56 < melvster> if two systems have different identifiers, (unless they are universal) you have to translate 23:56 < hellekin> the starting point is "Hello, world."

23:56 < melvster> yes! 23:57 < melvster> "hello world" is the starting point! 23:57 < melvster> everything else can be added on top 23:57 < hellekin> including identity (or the lack of) 23:57 < melvster> but at least if there is some common ground, ie messaging 23:57 < melvster> well you need to know where TO send a message 23:57 < melvster> or WHO you are sending too ... ie what they call themselves


23:57 < melvster> or WHO you are sending too ... ie what they call themselves 23:57 < melvster> this is true of the postal service 23:58 < melvster> it's true of telephone 23:58 < melvster> its true of email 23:58 < melvster> all scalable systems 23:58 < melvster> and all messaging at their base 23:58 < melvster> all with billions of users 23:58 < hellekin> in the same way: messages can be added on top. Any type, form, bla. It's different. The first thing toaork out is " how does my project says hello


23:59 < melvster> sure 23:59 < hellekin> we can use "some naming system". 23:59 < melvster> but project to project is neat, but user to user is also nice, because a project can have more than one user, and I think that's what will interest

                   people more than the project owner getting a message from another project owner

23:59 < hellekin> Given "some nameing system" Day changed to 24 Dec 2012 00:00 < hellekin> I know A and B, two systems who want to interact 00:00 < melvster> well we have a good naming system on the net, the URI, and http on the web, but you can include psyc: or anything else ... but one thing that we

                   *should* solve is the http case too, because there's lots of users on the web already

00:00 < hellekin> A should send a message to B saying "Hello, world." 00:01 < melvster> yes ok, call them A and B 00:00 < hellekin> A should send a message to B saying "Hello, world." 00:01 < melvster> yes ok, call them A and B 00:01 < hellekin> B should receive "Hello, world." 00:01 < melvster> a good start :) 00:02 < hellekin> next test, for the next day, and for the identity issue: A trusts from knowledge that B is B 00:02 < melvster> exactly! 00:02 < hellekin> next: B trusts A is A 00:02 < hellekin> (should be bijective) 00:02 < melvster> hellekin: you make a very good point ... remember that identity is not trust, and identity is not authentication, identity is just "A" and "B" 00:03 < melvster> but we can also have systems with really good trust and really good authentication, there's lots of optins 00:03 < hellekin> if someone can log this and add to the libreplanet wiki, we can gain time later :) 00:04 < hellekin> as far as we're concerned, we just want that B receives the exact message sent by A ;o) 00:06 < melvster> i think what this will tell is whether projects are serious about working together, because it need take not more than one day to program, and also

                   even getting this point will take LOTS of work, there will be pushback socially (there always is with interop), and there will be technical 
                   difficulties with identifers and transport, but a test like this can show you quite quickly who's serious, and who's agile enough to make it work

00:14 < hellekin> that was also my point with choosing AGPLv3+ and recommending it, to ensure that everybody is working together and won't hide commercial interest

                   behind legalese. All free, for all, we're building public space.

00:17 < hellekin> ok, so, the tests. If you like, I'm pasting this discussion in the Talk page on the LibrePlanet 00:19 < hellekin> and we can resume later. One thing I want to add is that unlike SWAT0, we shouldn't try defining a too large test that requires operating with some

                   objects, hence comes from the business logic where concepts are alredy imposed (a user, a photo, a telephone)

00:20 < hellekin> instead, just stick to the basics: Project A sends 'Hello, world.' to Project B. 00:21 < hellekin> then let projects report with whom they're working, and using what technology 00:21 < hellekin> leave implementors free, and build inter-operability for daily interaction with the people who actually do the stuff 00:23 < hellekin> but instead of being caught in the heavy bureaucracy of laws, states, and committees, just use freedom as a given, public as a goal, and consensus as

                   a mean

00:25 < hellekin> Freedom as a Given -- we use organic Free Software (you could call it viral) and release our code under licenses that ensure their continous, and

                   perene evolution in the public space.

00:27 < hellekin> Public as a Goal -- like art, culture, science, university, we pursue an ideal of sharing, caring, evolving in peace. 00:30 < hellekin> Consensus as a Mean -- we don't bow to any committee nor any authority figure, but follow what works best to pursue and succeed to implement our

                   simple goal, for the benefit of all, in the shortest possible time (to paraphrase Bucky Fuller)