User talk: Hellekin/A Coder Perspective Of GNU Social

From LibrePlanet
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)