Conversation with rlaager at 2005-11-11 09:37:08 on LSchiere2@irc.freenode.net (irc)
(09:37:08) rlaager: You missed all the excitement (from the osnews link to Bleeter's blog) last night.
(09:37:21) LSchiere2: I got my own version of it in IM
(09:37:45) rlaager: The_Tick and I grilled Sean with questions as well. It's clear that Bleeter is overreacting, but I still can't say I agree with this linphone business.
(09:38:10) LSchiere2: did sean mention that he told bleeter about this in advance and that his logs show bleeter agreeing?
(09:38:36) rlaager: I didn't see any logs.
(09:38:40) rlaager: but yes, he mentioned that
(09:38:56) rlaager: and Bleeter acknowledged that, with the stipulation that he didn't feel he had any choice
(09:39:05) rlaager: "lowly CPW" vs. "project lead"
(09:39:32) LSchiere2: *shrugs* I have both conversations logged, both where bleeter calls _me_ a liar, and where sean and I talk about both that and the potential need to ifdef it out entirely for the 2.0.0
(09:40:00) rlaager: but it seems rather silly to me to use linphone and force all this stuff in for 2.0.0 with the intention of rewriting parts of it later for gstreamer
(09:40:14) LSchiere2: the idea is not necessarily to release with the linphone
(09:40:18) rlaager: ... lots of library hassles for distros and users... I mean, that's something you'd know more about the goodness/badness of.
(09:40:21) LSchiere2: pause
(09:40:32) LSchiere2: mmm. you wouldn't be familiar iwht that notation of mine. sorry
(09:40:42) LSchiere2: that's me trying to catch up. anyway
(09:40:47) rlaager: :)
(09:40:51) LSchiere2: sean wants -vv voice api in 2.0.0
(09:41:00) LSchiere2: gstreamer has no significant voice capability
(09:41:02) LSchiere2: linphone does
(09:41:15) LSchiere2: he does not care if said api actually _does_ anything in 2.0.0
(09:42:00) LSchiere2: ie we can entirely disable it for the packages and make it off by default in the tarball and provide little or no UI for it. IE not really have a -vv or even a -voice enabled gaim release
(09:42:16) LSchiere2: but having the API in lets him work forward on a 2.0.0 branch and not on a 3.0.0 branch
(09:42:41) LSchiere2: unpause
(09:42:57) rlaager: That seems like a decent idea.
(09:43:23) rlaager: What's the plan with video support though?
(09:43:34) rlaager: How hard would it be to get that API included as well?
(09:43:35) LSchiere2: the problem is that sean's namespace and bleeter's overlap
(09:43:48) LSchiere2: so bleeter's now deleted patch would have conflicted badly
(09:44:22) LSchiere2: and bleeter refused to convert his namespace over, choosing instead to throw his very public hissy fit
(09:45:05) LSchiere2: I don't know how much work it would take to convert the namespace over. based on the one version of the gobjectification patch I played with, I'd guess it would be potentially painful since it includes things like the ifdefs for the enable-vv flag
(09:46:08) rlaager: Right. I don't like the way he has handled things (deleting the patch, wild claims of -vv death, etc.). ... However, I believe he has a point that it's unfair to expect him to merge again by himself.
(09:46:31) LSchiere2: I'd be more willing to grant that point if he didn't equate me and sean
(09:46:38) LSchiere2: I don't take well to being called a liar
(09:46:53) LSchiere2: esp. not for something I had no involvement with
(09:47:21) rlaager: I don't see him calling you a liar.
(09:47:39) rlaager: He says you said you didn't care about his work and there was some vague threat.
(09:49:16) LSchiere2: http://www.schierer.org/~luke/bleeteryaluser-2005-11-10.104519.html
(09:51:56) LSchiere2: *shrugs* I could have handled that conversation better. I was pretty stressed about other things, but that's no real excuse for what of the failure is mine
(09:53:04) rlaager: yeah
(09:53:15) rlaager: it seems to me like the same thing as if I said "I don't care about gg"
(09:54:15) LSchiere2: and in fact I could say that I dont' care about gg in all honesty. and yet up until the google summer of code, I'm the one who looked for and applied the patches to keep it even minimally functional
(09:55:59) LSchiere2: there are any number of things, gg, perl, translations, that I've applied patches for that I don't care about, but which the project needs someone to pay attention to. I tried to offer that to bleeter, and he wasn't interested.
(09:56:25) rlaager: I got a copy of the -vv stuff from Sean and I'll merge the damn thing properly if I have to, but I don't have the time right now. I've wanted -vv support for a while, but the cost of entering coding for that is really high (it's complex) and there are other things that I can work on and get immediate results.
(09:58:15) LSchiere2: just a sec while I figure out what account I then afterwards talked to sean on
(09:58:31) rlaager: Contactized Logs ;)
(09:58:40) LSchiere2: I can't scp a contactized log
(09:58:53) rlaager: hmm, there an interesting idea for a logger plugin ;)
(10:00:27) LSchiere2: http://www.schierer.org/~luke/seanegn-2005-11-10.154044.html
(10:01:27) rlaager: ... last time wasn't Tim, it was datallah and I... datallah committed it first, but we had both agreed and I was about to do it if he hadn't.
(10:01:39) LSchiere2: so sean misremembered that
(10:01:42) rlaager: ... so, I'm familiar with this sort of thing from him
(10:01:53) rlaager: yeah, I'm just saying I know how this goes from the other side
(10:02:10) LSchiere2: and I recalled that, as I spent some time on IM with bleeter after that as well
(10:03:47) LSchiere2: mmm. I wonder how many people besides sean and I remember when oscar was a compile switch. Nathan would.
(10:05:50) rlaager: I certainly don't. :)
(10:06:03) rlaager: So, what is behind his sudden push for voice support?
(10:06:26) LSchiere2: the only thing he's been tasked with at google is making gaim work fully with google talk
(10:07:39) rlaager: right, so it is because of the google job then
(10:08:00) rlaager: in which case, I'm worried that the linphone stuff is going to get left in
(10:08:13) rlaager: and someone else is going to have to replace it with gstreamer support when that's an option
(10:08:33) LSchiere2: like I told bleeter, I'm not about to support something that's a nightmare. if its going to be a nightmare, I'll ifdef it out
(10:08:46) LSchiere2: it'd hardly be the first time I've done something controversial
(10:08:54) rlaager: well, you might be able to support the linphone stuff just fine
(10:08:57) rlaager: which is really even worse
(10:09:07) rlaager: because I'm sure we don't want both linphone and gstreamer, do we?
(10:09:17) LSchiere2: that would qualify as a nightmare
(10:09:48) LSchiere2: "google talk works but aim webcams don't" just like "aim works but msn doesn't" (because you don't have ssl duh)
(10:09:58) LSchiere2: consistency is a good thing
(10:10:11) rlaager: but that places you in the position of keeping supportable linphone or accepting gstreamer video and dropping voice (to force someone to port it to gst)
(10:10:28) LSchiere2: I'm of the mood to not have -vv at all for longer and have it work better and right when it does
(10:10:47) rlaager: well, that was what Bleeter was going for
(10:10:48) LSchiere2: that's also a sentiment that I expressed with bleeter
(10:11:04) rlaager: then voice got shoved in because Sean got a job at google
(10:11:10) LSchiere2: yes and no. he was working towards that. which is why I offered to commit his work and break sean's
(10:11:20) LSchiere2: look at _both_ conversations please
(10:11:26) rlaager: I have.
(10:12:10) LSchiere2: so think about what you're saying here. you are saying that I'm willing to break sean's work in a conversation with bleeter, but not willing to break linphone when the time comes to merge in gstreamer?
(10:12:20) rlaager: correct
(10:12:25) LSchiere2: how does that logic work?
(10:12:27) rlaager: because that'll be later, post X releases
(10:12:34) rlaager: and users will have had voice
(10:12:54) LSchiere2: oh, so I wasn't willing to break all of status and force gaim into a long development cycle for the last year
(10:12:56) rlaager: and it'd be a support mess if the next release didn't have voice, wouldn't it?
(10:13:39) LSchiere2: do you realize the headaches _I_ created by doing so? but its in the long term best interest of our users and me as support both. but in the short term? even -vv aside, this release is going to be hell
(10:13:47) rlaager: true
(10:13:54) rlaager: and at this point, you're right about the voice being in
(10:14:00) LSchiere2: like I told bleeter, give me a little credit here
(10:14:15) LSchiere2: I'm the same person now who intentially broke gaim to force status to be looked at.
(10:14:30) rlaager: I'm still looking at this from the point of view that it'd be better still to avoid putting you in such a position.
(10:14:52) LSchiere2: not your choice. I'm in that possition because I'm the best person to balance out sean
(10:15:29) LSchiere2: we've fought publically over any number of things. the blist views is probably the easiest example, the small view only exists now because I said it had to, against his dislike of it
(10:16:57) LSchiere2: I'm also expendable, but with enough presence to not be expended lightly. a significant plus from the project's point of view
(10:17:19) rlaager: that's not necessarily true
(10:17:27) rlaager: the project would be in a pretty bad spot without a support guy
(10:18:28) LSchiere2: I have a doubt. but sean has in fact said the same as you. as has nathan
(10:18:49) LSchiere2: but that really just says that I'm more of someone sean will have to listen to
(10:19:01) rlaager: yeah
(10:22:20) LSchiere2: gaim is not going to suffer because sean's in google being paid to get gaim to work with voice. we were going to do both voice and video anyway, so now we'll have voice before video instead of video before voice. the realization that gstreamer isn't going to provide enough for both in the same timeframe as 2.0.0 was news to me. Had I known that 2 weeks ago, 3 weeks ago, several months ago, whatever, I'd have been as vocally against integrating -vv code at all as I was against wingaim (a battle I lost)
(10:22:38) rlaager: "-vv code at"
(10:22:45) LSchiere2: integrating -vv code at all as I was against wingaim (a battle I lost)
(10:24:29) LSchiere2: but now its in cvs, just as then wingaim code entered cvs. so the question is, as I asked bleeter, how do we move forward. clearly we can't release 2.0.0 with broken voice or voice/video support. I think I settled that with sean, if its looks like a potential nightmare, we ifdef it. equally clearly, -vv is not going to happen with sean's efforts alone, full time or not. that leaves us short a programmer, and with all of our existing ones, you included, already tasked with super-human todo lists
(10:24:52) rlaager: "existing ones, you included,"
(10:25:01) LSchiere2: you included, already tasked with super-human todo lists
(10:25:10) rlaager: right
(10:25:31) rlaager: If Bleeter doesn't wants to take his ball and go home, there's nothing we can do about that.
(10:25:44) rlaager: I asked him twice for the patch he deleted and didn't have any luck.
(10:25:48) LSchiere2: unfortunately when I asked bleeter that question, my own ham-handling and his own fustration combined to just further piss him off.
(10:26:05) LSchiere2: so it looks to me like we'll be ifdef'ing it for a while
(10:26:13) rlaager: probably
(10:27:52) LSchiere2: thankfully since it currently requires a --enable-vv flag (I think nosnilmot got that working the other day?), it shouldn't be too hard to ifdef out
(10:28:06) rlaager: It seems to compile for me without any changes.
(10:29:16) LSchiere2: so then it should be as simple as commenting out the autogen.sh (and thus configure) switch to set that define
(10:29:19) rlaager: if anything, though, Bleeter has talked about working with farsight
(10:29:40) LSchiere2: yes. which right now, from what I gather, is the hands down best forward path for video
(10:29:47) rlaager: so there's some hope he'll end up tracking gaim-HEAD that way and we can just pick it all up once he commits there
(10:30:46) rlaager: Fri 11 Nov 2005 (00:08:13 GMT) Peter Lawler (Bleeter): I'll probably still track gaim HEAD, but use farsight's repository to store the result
(10:30:49) LSchiere2: gstreamer/farsight, again from what I gather, are right now a question of chasing two different cvses. Not a good possition for us to be in. apparently they are looking to release in the same sort of timeframe we are
(10:31:16) rlaager: I think they intended to converge at some point.
(10:31:24) LSchiere2: could be
(10:31:33) LSchiere2: I really haven't paid much attention to -vv at all
(10:32:13) LSchiere2: my biggest concern was and is that if we'd taken bleeter's route, we'd _still_ be in the possition of having a gaim that needs libraries that no one, or at least no distro, has
(10:32:32) LSchiere2: so to me speaking as support, there's no difference between linphone and gstreamer
(10:32:40) LSchiere2: both are bad things to need
(10:32:43) rlaager: sure, but they're a lot more likely to get gstreamer and in short order, than linphone
(10:32:55) LSchiere2: probably, given that they already have versions
(10:33:13) rlaager: and gstreamer is a dependency of more and more GNOME and even KDE stuff now
(10:33:19) LSchiere2: but "you can use video only if you have RH5 or FC>4" is not particularly good
(10:33:53) LSchiere2: since rh/fc seems to be slowly moving in the direction of debian's policy on package updates
(10:34:09) rlaager: sure, but that'll be a problem no matter how we do it
(10:34:32) rlaager: unless we ship all the support code with gaim
(10:34:36) LSchiere2: agreed. but it just goes to show how _this really isn't that big a deal_. we'll have brokenness no matter how we do it
(10:35:40) LSchiere2: But then I remember the days when people would try to compile gtk2 themselves on an older RH, and fail badly, and then come complaining to gaim when it didn't work with their incorrectly configured gtk
(10:36:30) LSchiere2: "none of the graphics show" well do they show in in any other gtk application? "gaim 0.59 works just fine" how did you install gtk2? "I compiled it" oh. fun.
(10:36:42) rlaager: yeah
(10:37:01) LSchiere2: that's what we face with both linphone and gstreamer, granting the reality that there will be people using older versions of the various distros
(10:37:14) rlaager: yeah
(10:37:41) LSchiere2: and that's why when gstreamer finally has voice support, it will be a clear benefit for me to break linphone to make both use gstreamer.
(10:38:00) rlaager: yep
(10:39:05) rlaager: so at this point, assuming we get no output from Bleeter, would you rather we just let the voice stuff go through as planned or try to shove in the video stuff to force a voice and video API be stabilized?
(10:39:11) LSchiere2: but at the same point in time, sean does have to work. and working does require that he be able to test his code against other clients. which means using a library, however temporarily, that works. there will be gaim code that will stay common even across a migration from linphone to gstreamer
(10:39:56) LSchiere2: and that last (of mine) is a point that everyone upset with the linphone choice seems to miss
(10:40:54) LSchiere2: it depends on the question I introduced with sean for the 3rd time in the coversation you read. what path do we take after 2.0.0?
(10:41:22) LSchiere2: if we revert to iterating, then it doesn't much matter. but if we branch for 3.0.0 immediately, then we need to get a stable API in for both
(10:42:06) LSchiere2: an api that can even be mostly no-ops, but has to exist sufficiently that we can follow our own rules for version numbers
(10:49:04) rlaager has signed on.
(10:49:12) LSchiere3: (10:39:11) LSchiere2: but at the same point in time, sean does have to work. and working does require that he be able to test his code against other clients. which means using a library, however temporarily, that works. there will be gaim code that will stay common even across a migration from linphone to gstreamer
(10:49:16) LSchiere3: (10:39:56) LSchiere2: and that last (of mine) is a point that everyone upset with the linphone choice seems to miss
(10:49:19) LSchiere3: (10:40:54) LSchiere2: it depends on the question I introduced with sean for the 3rd time in the coversation you read. what path do we take after 2.0.0?
(10:49:24) LSchiere3: (10:41:22) LSchiere2: if we revert to iterating, then it doesn't much matter. but if we branch for 3.0.0 immediately, then we need to get a stable API in for both
(10:49:27) LSchiere3: (10:42:06) LSchiere2: an api that can even be mostly no-ops, but has to exist sufficiently that we can follow our own rules for version numbers
(10:49:56) rlaager: holy contact-aware convo bug
(10:50:10) LSchiere2: sorry, my office connection decided to fall off the face of the earth
(10:50:22) rlaager: oh god
(10:50:32) rlaager: marv!!!
(10:50:34) LSchiere2: so I had to reset the cable modem
(10:50:55) LSchiere2: what happened on your end?
(10:51:01) LSchiere2: what bug?
(10:51:09) rlaager: your AIM account came up separately
(10:51:25) rlaager: then when your IRC account signed off, the icon and text in the title of your AIM conversation changed to match the IRC one
(10:51:36) rlaager: so I saw two IRC accounts signing off, with different contents in the message windows
(10:51:50) LSchiere2: it probably got confused by me being lschiere3
(10:52:22) rlaager: or wait
(10:52:26) rlaager: you did use AIM, didn't you?
(10:52:33) LSchiere2: nope
(10:52:38) LSchiere2: I don't have an aim sn for you here at work
(10:52:47) rlaager: I don't have AIM for you either.
(10:52:59) LSchiere2: welcome to information leaking across accounts.
(10:53:25) rlaager: well, it should've just worked
(10:53:30) LSchiere2: that bugs in the wiki already. "Lschiere" often comes online (as far as the blist is concerned) for aim and yahoo when my silc account does
(10:53:31) rlaager: I have LSchiere3 in the same contact...
(10:54:05) rlaager: OH
(10:54:06) rlaager: WTF?
(10:54:12) rlaager: you don't have an account at irc.office.wiktel.com :)
(10:54:25) LSchiere2: nope
(10:54:34) rlaager: yep, it's the account leaking... I had added lschiere3 on the wrong server.
(10:55:28) rlaager: ok
(10:56:59) rlaager: I don't quite see how it matters. If we branch for 3.0.0 and put the -vv stuff there, it'll be held for 3.0.0 and that's fine. If we put it on the 2.0.0 branch, then it's just a minor version bump.
(10:57:51) rlaager: in reality, I don't think we can anticipate the entire API now without doing all the coding
(10:57:56) LSchiere2: if we aren't concerned about the timeframe in which we have a release with working -vv, then agreed. it does not matter. but 3.0.0 is likely to have at least one other blocker as at least one other project moves forward
(10:58:02) LSchiere2: agreed
(10:58:26) rlaager: I think we'd actually be more likely to need to introduce a backwards incompatible change if we tried to create structs and such now instead of just adding them later and doing a minor version bump.
(10:58:42) LSchiere2: can we add structs across a minor version?
(10:58:47) rlaager: yep
(10:58:52) LSchiere2: cool
(10:59:02) rlaager: adding is cool, you just can't delete things or change types
(10:59:37) rlaager: totally new structs are always safe and new elements to structs are generally safe as plugins should only be passing around pointers to structs and not allocating or copying them themselves
(10:59:50) LSchiere2: okay. so then we add video api and structs as they happen with the same condition as the voice has now: if at the next release they'll cause a high potential to headache, they get ifdefed
(11:00:40) rlaager: given where we're at, I think the logical best thing to do is what you've described for voice and we deal with video later, when someone who cares has time
(11:00:49) LSchiere2: *nods*
(11:01:17) rlaager: and when I find time, I'll take the latest Bleeter patch I have and try to merge it as best I can
(11:01:24) LSchiere2: kay
(11:01:31) rlaager: hopefully the availability of something close can spur someone into working on it
(11:02:07) LSchiere2: that's basically the approach we took with file transfer
(11:02:12) rlaager: and Sean agreed in #gaim last night that he'd help with the video merge
(11:02:36) rlaager: I don't know that I have any ability to hold him to that, but I might be able to get help there with the merge.
(11:03:09) LSchiere2: oh now that I know, it'll be on my list of things to periodically ask about
(11:05:33) rlaager: (02:03:54) rlaager: seanegan: The patch that Bleeter submitted... It sounds to me like he worked very hard to get that ready for a merge, under the impression that you would accept it. It sounds like there were valid reasons that you didn't use some of it. Since both of you acted in good faith and we now have this massive code conflict, will you be helping with the merge or leaving it to Bleeter, et al.
(11:05:33) rlaager: (02:04:59) Sean Egan (seanegan): rlaager: Of course. Keep in mind this is 200 lines of code we're talking about.
(11:05:59) LSchiere2: kay
(11:06:24) rlaager: I disagree with Robot101, et al that claim the next step is to rip out all the linphone and replace it with gstreamer. I think we can merge the two so you have either/both as dependencies, then work out the linphone stuff.
(11:06:34) rlaager: and I'm saying that in the context of merging, not in terms of releases
(11:06:57) LSchiere2: that discussion should properly stay on-list
(11:06:57) rlaager: ... I haven't looked at the code, but I simply can't see a reason that wouldn't work in concept, and Sean said something along those lines would be a next step.
(11:07:17) LSchiere2: since it necessarily involves the efforts of anyone interested
(11:07:42) rlaager: true, but I was just saying that since I read that in my IRC logs with that same snippet
(11:07:48) LSchiere2: :-)