Está en la página 1de 14

Netscape Documentary

Tape 73

Tone

TH Yes Jamie

JZ We left little something out of the Tar Balls the license

TH What

JZ Think about it

TH Well all the files reference the web site Right mean the file
says go to this URL

JZ yeah..

Til And the only thing the license said is that the legal file had to be in the Tar Ball All

right Im calling Mitchell OK Im calling Mitchell right now Shes gonna love

this

JZ Oh boy

TH You know ..this is great Hello wake up Mitchell Baker What am kidding you

arent gonna be there Oh you are there Hi Mitchell this is...OK this will only

take second me and Jamie are sitting here and the Tar Balls are up and were

watching people download them and the


actual NPL file text file isnt in the Tar

Ball laughs Oh so was trying to reassure Jamie by saying well The URL is

whats listed in the file headers so are we OK or do we need to quickly rn-spin and

post Could you let me put you on speaker phone you there

Yup Im going to the Website lets see and which requires us to do

JZ Shes going to the Website to read the license

TH Yeah

Yeah

JZ Dont you know this thing by heart by now

Ive got zillions of un-real ones here in world Cow OK So


over my Holy

somewhere in section it
says what we have to do remember that much

oo oq
Page
Netscape Documentary
Tape 73

TH maybe we should just check it into the tree and like NS config or something o3 00

JZ Why dont you check it in right next to the legal document

TH Oh there you go right at the top

JZ Theres problem with the modules file For some reason that thing did not p011

You have to poll that and file


individually

So what the language you must include


says is
copy of this license with every

copy of the source code


you distribute

TH laughter Shit guess that means were re-spinning Tar Balls are real
quick then

doesnt it

Well yeah guess if thats the only thing mean yeah thats what people

download isnt it

TH yeah that would be it

Well thats what it


says laughs may...either weve got to live by it or we say to

the world OOPS we forgot but thats not great precedent for what we want

other people to do Now suppose we might say if this were two days ago we

should change the language so you dont have to distribute but its probably
good

that people distribute the license Thats what we want So thats what it
says

TH OK

JZ But to fail to look like idiots we could just change the license

Well its up there now Jamie

JZ Yeah but whos read it


yet

TH The other thing we could do is we could just post..

Now come on were living in this world

TH lots of people read it remember we did Beta

We have to show the trust that we dont jerk around the licenses for our own

convenience
cC

Page
Netscape Documentary
Tape73

TH heres another suggestions that would be slightly less painful and then we could fix

it in week when we get another Tar Ball or when ever we do it We could just put

text file
copy on the FTP site

JZ yeah thats it Ill do that Ill just put of the license in the FTP directory
copy

and thatll that counts

TH People can download it

OK so the question you have to answer is the language says you must include

of this license with


copy every copy of the source code you distribute If
you

assume going forward that every body follows your precedent Jamie meaning

theres file somewhere but its not with what we want


the source code is that

When someone gets the source code do you actually want them to get the license as

well that tells them what they should do with it

JZ yeah the license should be in the Tar Ball But Ill go put copy of the license in

the FTP directory right now and then well look little bit less silly

yes that would be good and guess doing the Tar Ball sooner than in week is

probably good thing

TH Yeah well re-spin that and slide it in

That would be great

TH But in the meantime well get it


up like right
away

yeah that would be good

TH Thanks Mitchell

Youre welcome

TH Bye laughs here give this to Sean Dont play it to loud Some people are actually

working

Can someone please check in the NPL into the root on NS

Im about to save copy of it..

Page
Netscape Documentary
Tape 73

JZ ..well actually you can do it its.. O$S

break

Is Jamie coming back

yes he was going to get

No he ran out screaming..

Ran screaming from the room

cant take it
any more...conversation

TH Oh hey Welcome havent had team meeting in long time

Ever

TH Well not with this


group thats true have not had team meeting with this

group every body knows everybody else Um our latest addition is Marcus our

new baby the


poor soul

Welcome Maitus

Thank you

TH And just want to


say for the record that you guys rock have the best team in the

company thats what everybody says Actually people say that so...I got lots of

hand slaps in the last uh pointy headed meeting was in so between..

What kind of obscene things were you saying to get your hand slapped

TH Hit him So where we are today is we just did that and there was much rejoicing

yeah

And we were so good were redoing it


again today

TH And 4.05 which...real soon now weve been in kind of day to day mode yeah

its the second coming ...Gimme here Sheriff Whats


status the...are we not

havewe
oSo ioo

Page
Netscape Documentary
Tape 73

Windows ready

TH Its ready we just havent pushed

Right

TH OK good So this stuff this is where we are today We did that OK this is what

the world is
gonna look like We have 4.06 plus 4.07 4.08 and how many other

escalation builds were going who knows They say that were not going to do

that but they said we werent gonna do this either so we just keep this in mind

Were gonna do 4.5 and Marcus and JJ

And Don

TH And Don and whoever else has started the work on this and their own particular

hell with the mail news and this which actually constitutes two things the free

source and commercial product And if you look at that and you think about it this

is branches essentially Four branches worth of work And convention has said

that
up to this point no matter how many ways we try and optimize and automate

and everything else that we do you cannot with less than three
ship product

people one engineer per platform for release And that is the wisdom and were

sticking by it So we have seven people you do the math it means we have two

teams plus Marcus

So were not getting into cloning now..

Four trees two teams..

TH Four trees two teams we doomed


right OK so there has been lots of meetings

theres been lots of yelling theres been lots of negotiating theres been this This

is
paper see thats the source code laughter side front This the
negative is

plan this is
my pointy headedness Im doing HTML documents The resource

allocation thats plan that were putting together to tell the


engineering managers

this is the kind of support youre going to get from now going forward for the

foreseeable future Now what its gonna look like is this so sigh. .0K so if we

OSoq t4oo
Page
Netscape Documentary
Tape73 oSovzoo
look at week well draw an HTML calendar 000- how many days are in week

laughter.

five theres only five days in work week

TEL Right were not working weekends OK let me preface this with this is designed

so we are supposed to be averaging an or hour day Let me emphasize this

have to tell myself this also Repeat after me or hour day Additionally no

weekends Repeat after me no weekends OK

object

TH Youre fired

Free at last

TH OK now this is
scary..

Which part laughter

TH you know what if didnt do it youd have to do it do you want to do this

Not particularly

TH Then you hush All right we have two permanent build teams OK theres the

Dogbert team and theres the grommet team

Oh god were not going to do alternating days are we shhhh laughter

you need to buy us all funny colored hat and its like todays Monday we wear the

grommet hat today

TH So what were gonna have to


try
and figure out how to do and this is the

proposal were giving now and if it doesnt work in two months were gonna

have to come up with something else Hems the reality that have to deal with Im

not gonna get wreck And Im not gonna get two wrecks is what really need to

do this Uh so we have to be creative and were gonna do some work to make

sure that our tools will


support this But yeah were gonna alternate days So

were gonna look at something thats like 4.5 and 4.Ox And Ill talk about this in

second how we do that For the Grommet team laughter

Page
Netscape Documentary
Tape 73

Thursdaysaday off bS /1

TH No let me get back to Thursday Thats for the Dogbert team For the Grommet

team its little bit different urn its free source or commercial product urn so itll

be free and not free something like that We get Fridays off This is all negotiable

Now that Ive done this let me get back to Thursdays

The Marcus me
current help out here because youre gonna know rnore about this

than do the current Nova release schedule is that they do milestone release
every

other Wednesday or something like that The end releases

Obviously theyre not building on sufficient platforms

TH Well we need to work on that Right

Were trying to correct that fact

Good luck

TH Youre gonna be helping on this Mr Olstrom were gonna need you on there So

laughter given that this is supposed to uh be target milestone for Nova were

putting in an extra 24 you know Thursday is to all the bug fixes in that didnt
get

make by this day Cause know these guys right So 4.Ox on Tuesdays and

Fridays and Wednesdays and with possible overlap into Thursday for Nova

Free source Not Free Source This is its difference in modules how
pretty easy

this is
going to work is still up in the air because Lloyd and Jim Roskind and are

still in
very hot argument about how this is going to be implernented let me tell

its getting
you

Youre not allowed to lose

TH Im working on that real hard Real hard Im working on that Now what does this

mean Well this means that it sucks to be us Were not really set do
initially up to

something like this our machines for the most well with the of the
part exception

as.
Page
Netscape Documentary
Tape73 oS IS 5ao
UNIX machines urn the Windows and Mac installer stuff is set up to be kind of

product specific We dont really were not really set up to handle being able to

alternate easily between different branches Urn UNIX can do it


slightly

more...well have to work on that Ill get to that later Thats...uh UNIX its

little easier but we need to figure out we just need to fix the crown...to the best of

my knowledge right

yeah thats simple...laughter

TH Would you like to give me the rest of your thought or do you want to save it..

yeah most of the platforms wont build on any of these so...what the point

TH hold on to that thought hold on to that thought Were coming back to that one

OK thats why hes here hes the UNIX evangelist it


says so on his business

cards

Hes the what

TH Wait havent turned that in


yet so didnt know what you needed to write for

the Japanese thing

Put Japanese on reverse

TH All right OK So the other thing that this means this


Thursday Friday thing OK
what this
represents is verification build tree shuts down
right ...build

Verification slash QA
TH Yeah exactly verification slash QA build equivalent in this world Now in this

world...this branch the sheriff is the one os SQ fcc

break

whispered camera direction

Page
Netscape Documentary
Tape 73

Its been fairly..

LT Boy that was an exciting thing this morning huh

break

could here them oh here they 55 // 00


..everyone say come get ready

LT Barksdale too Hes such good speaker He just rad

Howard has done couple of jobs for us..

LT Sing Sing Leavenworth Alcatraz laughter Thats when ...said enoughs

enough This will be Lost in this


Space as long as is
Netscape

This is the first time weve used sticks to shoot anything for this job

LT Does that camera have...

c-c
break

camera direction

break

you did
..end up not using what

They did not use what did but thats OK

Just relax..

Page
Netscape Documentary
Tape 73

break

This is serious question in world governed by code how do we

code writing from those not so blessed


Os iq 00
Well theres problem The problem is
you can tell the difference between

bridge builder and bad bridge builder good bridge builder trucks go over the

bridge bad bridge builder trucks end up in the river Code you cant look
just

at it and say that codes fall down or its gonna do something bad Theres
gonna

all kinds of things about code we dont know how


that to measure yet we dont

have automation that does the right thing WE know lot about physics since we

can tell when bridge is gonna fall down or what makes be strong
building Urn

but because of our lack of knowledge about how this whole constructed world of

code works really its still an art and theres and theres bad art Theres
good art

and to that degree in that vain there are features of the art which are obvious to

the naked eye of even an untrained observer and then theres stuff that only another

artist can see So you can look of code really


at piece good code really good code

solves not just the problem but makes whole new world where
it
up the problems

are easy to solve WE dont actually write programs in


you use to create

new language that all about solving the problem you have to solve So in

theres Ns and theres strings and theres uh floats atomic kinds of objects
very

that are useful for solving only the of problems But you can
simplest create your

own new types You and connections


can create persons and uh couches and debit

lists Whatever it is whatever objects inhabit the world that the


is problem space

you want to solve And if


you give them the right names and you make them act

the
right way you can write program in language thats has the sarne rules as

but is much more richly inhabited by things that solve


help you your problem

To the point where domain for


expert the problem you are trying to solve like if

os
Page 10
Netscape Documentary
Tape 73

Im writing banking program banker or if Im writing program about

managing sailboarding store the guy who runs the store Or if Im writing

program about uh taking the minutes in meeting the


guy who normally takes the

minutes You should be able to look at the and say oh yeah thats
program doing

the right thing even though hes not programmer he should be able to say for

the banker oh look accounts payable accounts receivable those are real things

understand that Oh and you have bill thats an account receivable When

somebody sends you bill thats an accounts payable See how it


gets added to the

list Sure dont know how to program but can see thats right So when you

look at piece of code where this is true where its obvious what its
statement

doing and yet not inefficient thats beautiful You say look even non-

programmer can demonstrate correct Thats because how many


this is good

programmers are experts Not many And how many people are programmers in

general not many So the more people you have that can understand the code the

more likely your code is not going to fall down And then theres people wS
delight in extracting
every last ounce of performance or weird tricky stuff oat of

character in code so that everything is condensed and compressed and illegible

and no one can fix it or read it or write it or make it do new things or extend it

Sure their code may work and if it works in one way its good in the thats
way

visible to the naked eye if someone running the But in another


just program way

its horrible its Its like what


travesty if you had huge property gigantic

And you built house on that property You built the house out of granite
entirely

This is really nice right up to the


part where you want to add new wing Now

youve got to knock down five foot thick granite wall Au What did do that for

you have to think ahead not too far ahead because if


you plan for
everything it

costs too much money But enough ahead that when you have to add the addition

on to the house because their babies now do that So


having you can theres the

Page 11
oS .2.t Q-
Netscape Documentary
Tape 73

degree to which people write code good or bad you can certainly look at other

peoples code and see when its good or bad You can look at other peoples code

and you can say that guy is better


programmer than me Or he wrote better code

this time Or that not me


guys better
programmer than but this is better than

stuff normally write you can find the good in piece of code if
any it
actually

works You can figure out something good about it But theres something even

worse Theres class of programmer who writes crap and thinks their code is

better than everybody elses and wont even bother to look at other peoples code

see what wrong So human who


to they did right or its this uh category of being

think frustrates us most in pretty much every domain The expert who um isnt

really an expert and wont listen to reason

We need play station

Excellent

What happened last night or before can you describe something in the

Navigator code that exhibits the trait of elegant code or not

Lib mime is bad tir Lib Mime actually is not out with the initial release its

so bad And enough or not Lib mime


surprisingly surprisingly enough is the

hand tooled creation of our own Jamie Zawinski its utter Its
crap

commented at least so to that extent its better than it could be Its imitation of

written by guy who really likes Lisp more than he even likes and its

completely and utterly incomprehensible to else has certs over


anyone It all the

place for reasons that are and


completely unfathomable the idea that you would

do anything but use it in the most cursory manner to done and you stop
get the job

as soon as you looks like works because God you make


it
help you if mistake

o5Ze IL.ltOt

Page 12
Netscape Documentary
Tape 73

This is bad code anticipate there will be changes to Lib Mime in the not too

antfuture
t5Z4 3/f GO

As for good code theres little bits and pieces of it all over the You see it It
place

comes from lot of different people From Paul and From John McMullen and

from Mike Pinkerton and some of the back end


guys and you know theres just

whole cadre of people here who once in while the to


every get opportunity put in

the right thing It started off where the program was so organic that things grew

out beyond their initial constraints and so of stuff


design lot is just pretty rickety

looking But uh lot of people have put in good code To call out particular

example would be difficult at this moment because youve caught me at my absolute

nadir

Tell us about last night

all
through our code we used this particular class class that came
string

to us from apple
long time ago from Map Ap code Its OK to use this in your

own product Of course they didnt anticipate the idea that we would release the

source Its not OK to use this and release the source WE didnt have permission

from Apple the lawyers sat on their hands and sat on their hands and finally it

came down to the possibility that we might not get permission and were releasing

the source code in some 10 hours or something So had to write for


replacement

this class and the class itself is evil does lot of evil things
it
urn so stayed up

until about 540 this


morning writing this replacement class uh and at one point

ran into people doing lot of bad things Like about


knowing something some

feature of the old class that was an evil trick and had to go through the code and

excise this evil trick And


everywhere this was all being exploited by basically one

programmer whos ordinarily really good programmer and it was


Netscape Documentary
Tape 73 t5

unfortunate that he decided to exploit this particular trick because it made my life

living hell last night And then this morning got it


basically running its all

running its all really good and thank heavens we got permission from Apple to

Ship the regular source

in you know 10 hours or whatever


Becaus
of

spent on it
rid
So Im sure
Iavofound

theres bugs
all the bugs

left in

my implementation My implementation should go in because its better than what

Q/ we had but it shouldnt go in right at this instant we should wait for some

debugging And so that is what happened last night

Did you end under


up sleeping you desk last night

Yup O5 jq.ii

Page 14

También podría gustarte