Campbell et al v. Facebook Inc.
Filing
219
NOTICE of Refiling re Motion to Compel Discovery and Supporting Documents by Matthew Campbell, Michael Hurley re 218 Order on Administrative Motion to File Under Seal. (Attachments: # 1 Exhibit 1 - Replacement for Dkt. 205-4, # 2 Exhibit 2 - Replacement for Dkt. 205-6, # 3 Exhibit 3 - Replacement for Dkt. 205-8, # 4 Exhibit 4 - Replacement for Dkt. 205-10, # 5 Exhibit 5 - Replacement for Dkt. 205-12, # 6 Exhibit 6 - Replacement for Dkt. 205-16, # 7 Exhibit 7 - Replacement for Dkt. 205-17, # 8 Exhibit 8 - Replacement for Dkt. 205-18, # 9 Exhibit 9 - Replacement for Dkt. 205-19, # 10 Exhibit 10 - Replacement for Dkt. 205-15, # 11 Exhibit 11 - Replacement for Dkt. 205-21)(Gardner, Melissa) (Filed on 10/18/2016) Modified on 10/19/2016 (kcS, COURT STAFF).
EXHIBIT 8
HIGHLY CONFIDENTIAL - ATTORNEYS' EYES ONLY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
UNITED STATES DISTRICT COURT
NORTHERN DISTRICT OF CALIFORNIA
________________________________
)
MATTHEW CAMPBELL, MICHAEL
)
HURLEY, and DAVID SHADPOUR, on )
behalf of themselves and all
)
others similarly situated,
)
)
Plaintiffs,
)
)
vs.
) Case No.
) C 13-05996 PJH
)
FACEBOOK, INC.,
)
)
Defendant.
)
________________________________)
HIGHLY CONFIDENTIAL - ATTORNEYS' EYES ONLY
VIDEOTAPED DEPOSITION OF RAY HE
Palo Alto, California
Friday, September 25, 2015
Volume I
Reported by:
CHRIS TE SELLE
CSR No. 10836
Job No. 2144894
PAGES 1 - 273
Page 1
Veritext Legal Solutions
866 299-5127
HIGHLY CONFIDENTIAL - ATTORNEYS' EYES ONLY
1 BY MR. CARNEY:
2
10:59:59
1 tables, so I meant table in the sense of SQL table;
Q. Okay. And then if we look at the next
11:03:00
2 in this case, FQL table.
3 line, which begins, share select, underscore, count,
3
4 do you see that?
4 by, for example, the share_count?
5
A. Yes. Select share_count.
11:00:10
6
Q. Okay. And what did you mean by the term,
Q. And is a particular table being queried
5
A. Is --
6
MR. CHORBA: Objection. Vague as to time.
11:03:20
7 select share_count?
7 BY MR. CARNEY:
8
A. It is a FQL query.
8
Q. Between 2009 and 2012.
9
Q. And what information is it querying?
9
A. Can you describe what you mean by, is it
10
A. The field share_count.
11:00:34
11
Q. What information is contained in the field
10 queried. Oh. Who would be doing the querying, and
11:03:28
11 in what time.
12 share_count?
12
13
MR. CHORBA: Objection. Vague.
13 2012.
14
THE WITNESS: I would have to review the code
15 to know exactly.
16
14
11:00:53
Q. A Facebook employee, between 2009 and
A. There have been Facebook employees who
15 have queried the table.
MR. CHORBA: Also, belated objection. Vague as
16
11:03:49
Q. Okay. Are there third parties that can
17 to time, as well.
17 query the table -- let me, between, were there third
18 BY MR. CARNEY:
18 parties who could query the table using those
19
Q. What's your best understanding of what it
19 commands between 2009 and 2012?
20 means, without access to the entire Facebook source
11:01:07
20
A. Not these commands, exactly.
21 code?
21
Q. Similar commands that pulled the same
22
MR. CHORBA: Same objections.
22 information?
23
THE WITNESS: I think this would actually
23
A. Yes. Well, not the same information.
24
Q. Could, could third parties pull the
24 depend on when -- so, the query there, you are not
25 actually able to make, depending on the time in
11:04:07
11:01:25
25 share_count between 2009 and 2012?
Page 74
1 question. Like, we never, we never launched the
11:01:30
1
11:04:39
Page 76
MR. CHORBA: Objection. Vague as to
2 ability to select all those things.
3 BY MR. CARNEY:
3
4
11:04:44
2 share_count.
4 share_count.
Q. Did you launch the ability to select any
5 of those things, beginning with the select
11:01:40
THE WITNESS: Depends on what you mean by
5 BY MR. CARNEY:
6 share_count?
6
7
11:04:48
7 used that term in this e-mail?
A. I believe we did have a share_count, a
Q. What did you mean by share_count when you
8 like_count, and a comment_count.
8
9
9 because share_count means two different things.
Q. Okay. And so --
10
A. I'm not sure about those counts.
11:01:57
11
Q. How about the URL from share_stats? What
10
A. I couldn't, I don't remember what I meant,
Q. Okay. What are the two things share_count 11:05:01
11 means?
12 did you mean when you wrote those words?
12
13
13 of FQL, it either meant, well, in the context of
A. URL is a field in the table, the FQL
A. Depending on the context, in the context
14 table. However, the table was not ultimately named
14 FQL, it always meant the total number of share
15 share_stats, so I think this is like a sample query, 11:02:14
15 objects that were created and incremented the share
16 not what we actually checked in.
16 counter for a given URL, a subset of those.
17
Q. What do you mean by the term, checked in?
17
Q. What did you mean by, a subset of those?
18
A. What was committed to the code base, and
18
A. Not all share objects created are
19 what eventually was placed on the site.
20
Q. You mentioned the term, table, a moment
19 accounted for in the share_count.
11:02:44
23
What did you mean by, table?
20
Q. Which ones are not?
21
21 ago.
22
11:05:21
A. Any share objects that failed to create,
11:05:59
22 or any race conditions that would have occurred that
A. So, as I explained, the Facebook query
23 we didn't check for would not have been counted.
24 language is a SQL like language for querying the
24
25 Facebook API, and one concept of SQL is the idea of
11:02:57
25
Page 75
Q. And what is a race condition?
A. In the context of what I just said, if two 11:06:17
Page 77
20 (Pages 74 - 77)
Veritext Legal Solutions
866 299-5127
HIGHLY CONFIDENTIAL - ATTORNEYS' EYES ONLY
1
Q. Are there any others?
2
A. There is a developer tool that can be used
02:43:08
1 visual representation of this object.
02:45:53
2
Q. What would it bring you to?
3 to visualize a URL, and update a global share
3
A. It would bring you to the source code that
4 object. That --
4 governs ENTGlobalShare.
5
Q. Sorry.
02:43:26
6
A. That developer tool would also have a
5
Q. Then do you see the heading, class
02:46:05
6 methods?
7 preview of the same preview I just mentioned within
7
A. Yes.
8 it, but that depends on the time in question.
8
Q. What are class methods?
9
A. Class methods, in this context, are
9
Q. Does the developer tool have a name?
10
A. It has gone by many names.
02:43:40
11
Q. What are they?
11 class to expose fields to -- I'm sorry. It means
12
A. It's gone by the OG debugger, it's gone by
12 they are methods that allow other Facebook engineers
10 methods developers have added to the ENTGlobalShare
13 the OG linter, it's gone by the ID or URL debugger.
13 to access fields.
14
14
Q. What fields?
15
A. Well, the, they are listed in the class
02:46:20
Q. Other than that tool, are there any other
15 visual representations of the global share object
02:44:04
16 created by Facebook?
17
02:46:48
16 methods, so you can get things like action text
17 info, all content for storm, all content ID for
A. I don't know of any other visual
18 representations of the object.
19
18 storm. I don't know what those are. Animated GIF
Q. And if you'd look at Exhibit 14 in the
20 right-hand column, there, do you see the heading,
19 video, et cetera.
02:44:19
20
Q. How about the first one there, get data
02:47:10
21 alternate renderers?
21 URL?
22
A. Yes.
22
A. Yes.
23
Q. Do you know what that means?
23
Q. So, could a Facebook engineer access the
24
A. I don't know specifically what that means.
24 data URL field by using one of the class methods?
25
Q. Have you ever heard of permalink?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
02:44:30
25
Page 162
A. Yes.
02:44:32
1
Q. What is permalink?
2
A. Permalink refers to a link where an object
3
would hypothetically be a render, would render then
4
if you click on it.
02:44:46
5
Q. Do you know whether if you pull up this
6
screen at, on a Facebook computer, what happens when
7
you click on the permalink renderer note right
8
there?
9
A. I don't know what happens if you were to 02:45:06 10
click on that.
11
Q. Are you familiar with the term, I think
12
it's memeology renderer?
13
A. Unfortunately, I'm not familiar with that
14
term.
02:45:15
15
Q. Do you know what an ENTGlobalShare in
16
Diffusion is? I'm just reading down that column.
17
A. Yes.
18
Q. What is that?
19
A. Diffusion is another name of our
02:45:25
20
repository browser that we mentioned earlier.
21
Q. Do you know what the visual representation
22
is of this ENTGlobalShare, if you click the
23
Diffusion link?
24
A. The Diffusion link wouldn't bring you to a 02:45:49 25
A. Yes.
02:47:36
Page 164
Q. Can you tell by looking at this Exhibit 14 02:47:48
when this ENTGlobalShare was created?
A. Yes.
Q. When?
A. That would be Monday, September 12, 2011,
02:48:08
6:30 a.m.
Q. And then above that, there's a, there's a
heading for update time.
What is update time, as that term is used
there?
02:48:22
A. Actually, one second.
Q. Sure.
A. So, in response to my last question, I'd
like to change my answer to, I'm not sure if that
time --
02:48:38
Q. Which -- sorry.
A. -- if that's the creation time, the time
field. This depends on whether we are following the
right paradigm for this particular entity type.
Q. How can we ascertain whether we are
02:48:48
following the right paradigm for this particular
entity type?
A. I would have to refer to the source code.
Q. And what particularly in the source code
would you look at to make that determination?
Page 163
02:49:03
Page 165
42 (Pages 162 - 165)
Veritext Legal Solutions
866 299-5127
HIGHLY CONFIDENTIAL - ATTORNEYS' EYES ONLY
1 line of this e-mail.
2
1 able to answer that question.
04:50:44
2
MR. CHORBA: Objection. Lacks foundation.
04:53:58
Q. Are there documents that you could review
3 Calls for speculation.
3 that you know exist that would allow for you to
4
You can answer, if you know.
4 answer the question?
5
THE WITNESS: I don't know exactly what Mr. Liu 04:50:59
5
A. Yes.
6 meant in the title of this diff.
6
Q. What are they?
7 BY MR. CARNEY:
7
A. Facebook source code.
8
8
Q. And how would you find the lines of code
Q. Do you recall whether you performed a code
9 that would answer that question if you had access to
9 review of adding post-processing step to fetch the
10 share and like associations?
04:54:12
10 the source code in the room today?
04:51:14
04:54:22
11
A. I don't recall.
11
A. I would look back to December 3, 2010 and
12
Q. Would the, would a record have been
12 see if that code existed before this revision.
13 preserved at Facebook which would reveal whether in
13
14 fact you had performed such a code review?
14 the question without any temporal limitation.
15
A. Yes.
15
16
Q. And where would that information reside?
16 the fetching of like information for purposes of
17
A. In the revision detail link.
17 providing recommendations?
18
Q. In what system?
18
19
A. In this document.
19 know you intended to lift the temporal limitation,
20
Q. So, if I clicked on the link there,
04:51:30
Q. I did limit that temporally. Let me ask
Is there code at Facebook which allows for 04:54:48
MR. CHORBA: Objection. Vague as to time. I
20 but are you talking about today?
04:51:45
04:55:09
21 tools.Facebook.com/D188969, that information would
21
MR. CARNEY: At any time.
22 be revealed?
22
THE WITNESS: I'm not sure if there is code at
23
A. Yes.
23 Facebook which allows for the fetching of like
24
Q. What is, taste, as the term is used in
25 this document?
24 information for the purposes of providing
25 recommendations, other than what was introduced or
04:52:01
Page 226
1
MR. CHORBA: Objection. Lacks foundation.
2
You can answer, if you know.
04:52:02
2 BY MR. CARNEY:
3
THE WITNESS: Taste is a back end for providing
3
04:55:26
Page 228
4 recommendations.
5 BY MR. CARNEY:
6
1 supposedly introduced in this.
04:55:29
Q. What types of things are recommended by
4 the taste back end?
04:52:12
MR. CHORBA: Objection. Vague.
6
Q. And what does, back end, mean in that
5
THE WITNESS: What do you mean by, types of
7 answer you just gave?
7 things? Just --
8
04:56:04
8 BY MR. CARNEY:
A. It is a server that a, a web server would
9 communicate with to fetch information.
10
11
9
Q. And what is a recommendation?
04:52:31
A. A recommendation is a link, typically, a
Q. Is it consumer goods? Is it restaurants?
10 Is it trips? I have no idea.
04:56:28
11
A. It depends on the time period in question.
12 link that we think a user would find relevant.
12
Q. Okay. How about in 2011?
13
13
A. In 2011, I believe it was only URLs.
14
Q. And would they be URLs that included
Q. And how is that information presented to
14 the user?
15
A. For this particular diff, it would have
04:52:55
15 commercial URLs, that is, commercial companies
16 been presented in a social plugin called the
17 recommendations plugin.
17
18
04:56:47
16 selling products to consumers?
18 URLs.
Q. Subsequent to December 2010, was there
19 code which allowed for the fetching of like
20 information for purposes of providing
19
04:53:38
A. I don't think it differentiated between
Q. And how, were you involved in drafting
20 source code for purposes of identifying
21 recommendations?
22
A. I'm not sure.
22
A. Not directly.
23
Q. Who would best be able to answer that
23
Q. Indirectly?
24
04:57:01
21 recommendations?
A. Well, we've previously established that I
24 question?
25
A. I'm probably the person who would best be
04:53:56
25 wrote the code to add a counter, and I believe that
Page 227
04:57:27
Page 229
58 (Pages 226 - 229)
Veritext Legal Solutions
866 299-5127
HIGHLY CONFIDENTIAL - ATTORNEYS' EYES ONLY
1 review it and then tell me if you can identify it.
2
05:52:43
A. This appears to be a copy of a printout of
3 an e-mail automatically generated by a code review
4 request.
5
Q. And it says from you at the top, right?
6
A. Yes.
7
Q. And what does that mean?
8
05:53:06
A. That means that the automated system
9 detected me as the revision author and sent this
10 e-mail on my behalf.
11
05:53:18
Q. And why would it have identified you as
12 the author?
13
A. I was likely the author on the revision.
14
Q. Okay. Is there an author field that your
15 name would appear in, and that's why it created this 05:53:33
16 e-mail as coming from you?
17
A. Not as such. It's, if you create a diff,
18 it automatically populates.
19
Q. Okay. And it says, it says you requested
20 code review of open graph like share unit prevent
05:53:54
21 rare fatal.
22
23
What does that mean?
A. That means that on occasion, Facebook
24 would stop processing a web request and would return
25 no information, and this revision was to prevent
1 that from happening.
2
05:54:16
Page 250
05:54:21
Q. And what is get share data? It's on the
3 second line of the middle paragraph.
4
A. I believe get share data is one of the
5 class methods on ENT share that we previously
05:54:32
6 discussed.
7
Q. What does it do?
8
A. I believe it gets the raw share object,
9 but I would have to check the code to be sure.
10
Q. What is a raw share object?
05:55:04
11
A. That is the FB Object, capital O,
12 underlying the ENT share abstraction.
13
MR. CARNEY: Mark the next exhibit, please.
14
(Exhibit 25 was marked for identification
15
by the court reporter and is attached hereto.)
05:55:29
16 BY MR. CARNEY:
17
Q. Can you identify that document.
18
A. As stated before, I believe it's a
19 printout of an e-mail for a diff request.
20
Q. And do you recall having any involvement
05:56:06
21 in the code review of record click_count for URLs
22 and link shim post send logging?
23
A. No.
24
Q. Do you know what link shim post send
25 logging is?
05:56:20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
A. Yes.
05:56:21
Q. What is it?
A. It is the logging that happens when a user
visits a third party link on Facebook, link shim.
Q. What is in the tracking info field on a
05:56:43
share object? And I'm looking at the second line
there of the second paragraph.
MR. CHORBA: Objection. Vague as to time.
THE WITNESS: It does depend on time.
BY MR. CARNEY:
05:57:02
Q. Let's start with January 24, 2012.
A. The tracking info on a share object here
refers to the global share object, and that was the
set of comma delimited numbers we previously talked
about, so, Exhibit 14?
05:57:17
Q. Uh-huh. Who is the best person to talk to
about the creation of source code for taste?
MR. CHORBA: Objection. Vague as to, best.
BY MR. CARNEY:
Q. Most knowledgeable.
05:58:14
MR. CHORBA: Answer, if you know.
THE WITNESS: It depends on the time period in
question.
BY MR. CARNEY:
Q. How about 2010 through 2012?
05:58:21
Page 252
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
A. That would probably be Mr. Liu.
05:58:25
Q. Is Mr. Liu still with the company?
A. No.
Q. Do you know where he works?
A. No.
05:58:33
Q. Have you had any contact with him since he
left Facebook?
A. No.
Q. If I couldn't contact Mr. Liu, who would
be the second best person to talk to?
05:58:42
A. Would likely be an engineer on the taste
team.
MR. CARNEY: Next exhibit, please.
(Exhibit 26 was marked for identification
by the court reporter and is attached hereto.) 05:59:33
BY MR. CARNEY:
Q. Can you identify this document.
A. Yes.
Q. What is it?
A. This is a printout of a automated or of an 05:59:59
e-mail of an automated diff request.
Q. Who is Mr. Rothbart?
A. Mr. Rothbart is an engineer at Facebook.
Q. Was he your boss in 2012?
A. No.
06:00:16
Page 251
Page 253
64 (Pages 250 - 253)
Veritext Legal Solutions
866 299-5127
HIGHLY CONFIDENTIAL - ATTORNEYS' EYES ONLY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1
describes a user, a Facebook user.
06:28:07
2
Q. Can you give me an example.
3
A. My user ID is
4
Q. Truly -- okay. And then what is an object
5
ID, something in the, what is something in the
06:28:24
6
object ID range?
7
A. For example, if you look at Exhibit 14,
the ID listed at the top.
8
9
Q. An that's the ENTGlobalShare ID?
10
A. Yes.
06:28:39
Q. Can you define the term, stored, as you
11
used it in your answer?
A. In this answer, or -12
Q. Uh-huh, yeah.
13
A. In this answer, I mean a persistent store. 06:28:58 14
Q. Let's capture the databases that are
15
16
involved in holding objects and associations created
17
from private messages prior to persistent storage.
18
A. That would be on the web server itself,
19
within RAM.
06:29:27
20
Q. Any other places other than -- is web
21
server a class of database?
22
A. It's a class of server. A database is a
23
different class of server.
24
Q. What's the difference between a server and 06:29:50 25
I, RAY HE, do hereby declare under penalty of
perjury that I have read the foregoing transcript,
volume I; that I have made any corrections as appear
noted, in ink, initialed by me; that my testimony as
contained herein, as corrected, is true and correct.
EXECUTED this _____ day of _____________,
201___, at __________________, ___________________.
(City)
(State)
______________________________
RAY HE
VOLUME I
Page 272
Page 270
1 a database?
06:29:51
2
A. One is a subset of the other.
3
Q. Which is a subset of the other?
4
A. A server can host a database.
5
Q. Other than -- I may have asked you this;
06:30:17
6 if I did, I apologize -- other than the web server,
7 are there any other databases or servers that are
8 involved in the storage of objects and associations
9 with respect to private messages prior to persistent
10 storage?
06:30:39
11
MR. CHORBA: Objection. Asked and answered.
12
THE WITNESS: No.
13
MR. CARNEY: Okay. Thank you.
14
MR. CHORBA: Thank you.
15
THE VIDEOGRAPHER: This marks the end of volume 06:30:50
16 1, disk 4, and concludes -17
MR. CHORBA: Let me make clear, we're
18 designating this highly confidential, attorneys'
19 eyes only, subject to review.
20
MR. CARNEY: Yeah. Thanks.
21
THE VIDEOGRAPHER: This marks the end of volume
06:31:00
22 1, disk 4, and concludes the deposition of Ray He.
23 The time is 4:31 p.m., and we are off the record --
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
I, the undersigned, a Certified Shorthand
Reporter of the State of California, do hereby
certify:
That the foregoing proceedings were taken
before me at the time and place herein set forth;
that any witnesses in the foregoing proceedings,
prior to testifying, were duly sworn; that a record
of the proceedings was made by me using machine
shorthand which was thereafter transcribed under my
direction; that the foregoing transcript is a true
record of the testimony given.
Further, that if the foregoing pertains to the
original transcript of a deposition in a Federal
Case, before completion of the proceedings, review
of the transcript [X] was [ ] was not requested.
I further certify I am neither financially
interested in the action nor a relative or employee
of any attorney or party to this action.
IN WITNESS WHEREOF, I have this date subscribed
my name.
Dated:10/9/15
24 6:31 p.m, and we are off the record.
25
(Time noted: 6:31 p.m.)
25
06:31:15
Page 271
<%signature>
CHRIS TE SELLE
CSR No. 10836
Page 273
69 (Pages 270 - 273)
Veritext Legal Solutions
866 299-5127
Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.
Why Is My Information Online?