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).

Download PDF
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?